Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Technologie industrielle

Gestion de cluster sur PLCnext ?

Un standard dans l'informatique depuis des années, il n'a pas encore eu beaucoup d'impact dans l'industrie. Ces technologies sont souvent considérées comme
trop complexe et inutile. La question qui se pose est, nous apportent-ils des avantages ?

Une vision pour PLCnext en utilisant l'exemple de Kubernetes.

Kubernetes

Kubernete est un orchestrateur (système de gestion, maître) qui utilise, entre autres, des conteneurs et forme ainsi un réseau via divers appareils. Le système est utilisé pour fournir des applications d'une manière légèrement différente.

Classiquement, les applications seraient distribuées et maintenues sur des appareils. On sait sur quel ordinateur l'application s'exécute. Si une application doit s'exécuter sur un autre ordinateur, cela doit être fait par une personne. Si l'un des ordinateurs tombe en panne, toutes les applications de l'ordinateur ne sont plus disponibles.

Avec Kubernetes, le maître reçoit une description de l'état de l'application et le maître s'occupe du reste. Il garantit que l'état demandé est maintenu à tout moment. Cependant, on ne sait pas sur quel nœud l'application s'exécute actuellement, mais elle est accessible en principe.

Questions et réponses

Ce qui déplore la description de l'état

Comment installer le cluster

Comment effectuer les mises à jour des applications

Que se passe-t-il si un nœud tombe en panne

Que se passe-t-il si le maître échoue

Certaines applications doivent s'exécuter sur certains nœuds car l'accès au matériel est nécessaire.

Exemple

Exemple de description d'état d'une application composée de trois conteneurs (frontend, backend, base de données).

Déploiement :

Service :

Entrée :

# Kind of the Deployment
kind: Deployment
apiVersion: apps/v1
metadata:
  name: MyApplicationName
  labels:
    app: MyApplication
    MyApplication: MyApplicationName
    namespace: default

## Container specs
    spec:
      containers:

## Container spec for Frontend
## Name for the Container
      - name: MyContainer-frontend

## Container Image to use      
        image: MyApplicationImage_frontend

## Ports for the frontend, http        
        ports:
        - containerPort: 80

## Container spec for Backend      
      - name: MyContainerName-backend
        image: MyApplicationImage_backend
        ports:
        - containerPort: 3000

## Container spec for mongodb          
      - name: MyContainerName-mongo
        image: mongo:3.4

## Startup commands for Mongo DB
        command:
        - "mongod"
        - "--bind_ip"
        - "0.0.0.0"
        ports:
        - containerPort: 27017    
---
## Service declaration, expose Ports to the kubernetes api (only internal rechable)

apiVersion: v1
kind: Service
metadata:
  name: MyApplicationName
spec:
  ports:
  - name: frontend
    targetPort: 80
    port: 80
  - name: backend
    targetPort: 3000
    port: 3000
  selector:
    app: MyApplication
    task: MyApplicationName     

---    
## Ingress declaration, bind proxy to fronted and backend

apiVersion: networking.k8s.io/v1beta1
kind: Ingress

## Bind ingress to traefik service proxy

metadata:
  name:MyApplicationName
  annotations:
    kubernetes.io/ingress.class: traefik

## Ingress class for frontend, map dns ingress to service port 80 
spec:
  rules:
  - host: MyApp.Mydomain.de
    http:
      paths:
      - path: /
        backend:
          serviceName:MyApplicationName
          servicePort: frontend

## Ingress class for backend, map dns ingress to service port 3000          
  - host: MyApplicationName.MyDomain.de
    http:
      paths:
      - path: /api
        backend:
          serviceName:MyApplicationName
          servicePort: backend

Jetez un œil

https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/
https://github.com/k3s-io/k3s
https://github.com/rancher/k3d
https://github.com/inercia/k3x


Technologie industrielle

  1. Qu'est-ce que l'estampage ? - Types, fonctionnement et application
  2. Qu'est-ce que le soudage par friction ? - Fonctionnement et application
  3. Qu'est-ce que la projection thermique ? - Types et application
  4. Application de silicate de sodium dans la production de moulage
  5. Configuration VLAN dans PLCnext Technology
  6. gRPC distant à l'aide de grpcurl
  7. Modèles CLI PLCnext
  8. Accès au serveur web PlcNext sur DHCP
  9. Comment créer une application console PLCnext simple en C#