Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Industrietechnik

Clusterverwaltung auf PLCnext?

In der IT seit Jahren Standard, hat es sich in der Industrie noch nicht durchgesetzt. Oft werden solche Technologien als angesehen
zu kompliziert und unnötig. Die Frage, die sich stellt, ist, bringen sie uns Vorteile?

Eine Vision für PLCnext am Beispiel von Kubernetes.

Kubernetes

Kubernete ist ein Orchestrator (Verwaltungssystem, Master), der unter anderem Container verwendet und so über verschiedene Geräte ein Netzwerk bildet. Das System wird verwendet, um Anwendungen auf etwas andere Weise bereitzustellen.

Klassischerweise würden Anwendungen auf Geräten verteilt und gepflegt. Es ist bekannt, auf welchem ​​Rechner die Anwendung läuft. Soll eine Anwendung auf einem anderen Rechner laufen, muss dies von einer Person durchgeführt werden. Fällt einer der Rechner aus, stehen alle Anwendungen des Rechners nicht mehr zur Verfügung.

Bei Kubernetes erhält der Master eine Zustandsbeschreibung der Anwendung und der Master kümmert sich um den Rest. Es stellt sicher, dass der angeforderte Zustand jederzeit beibehalten wird. Es ist jedoch nicht bekannt, auf welchem ​​Knoten die Anwendung gerade läuft, aber sie ist prinzipiell erreichbar.

Fragen und Antworten

Was bedauert Zustandsbeschreibung

So installieren Sie den Cluster

So führen Sie Aktualisierungen von Anwendungen durch

Was passiert, wenn ein Knoten ausfällt

Was passiert, wenn der Master ausfällt

Bestimmte Anwendungen müssen auf bestimmten Knoten ausgeführt werden, da Zugriff auf die Hardware erforderlich ist.

Beispiel

Beispiel einer Zustandsbeschreibung einer Anwendung, die aus drei Containern (Frontend, Backend, Datenbank) besteht.

Bereitstellung:

Dienst:

Eindringen:

# 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

Schauen Sie sich das an

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


Industrietechnik

  1. Was ist Stempeln? - Arten, Betrieb und Anwendung
  2. Was ist Reibschweißen? - Funktion und Anwendung
  3. Was ist thermisches Spritzen? - Typen und Anwendung
  4. Anwendung von Natriumsilikat in der Gussherstellung
  5. VLAN-Setup in PLCnext Technology
  6. Remote-gRPC mit grpcurl
  7. PLCnext CLI-Vorlagen
  8. Zugriff auf den PlcNext-Webserver über DHCP
  9. So erstellen Sie eine einfache PLCnext-Konsolenanwendung in C#
  10. PLCnext Tableau-Dashboard