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

Cluster-Management auf PLCnext: Kubernetes für die industrielle Automatisierung nutzen

Ein Standard in der IT seit Jahren, hat in der Industrie noch nicht viel Einfluss gewonnen. Oft werden solche Technologien als zu komplex und unnötig angesehen. Die Frage ist: Bringen sie uns Vorteile?

Eine Vision für PLCnext am Beispiel von Kubernetes.

Kubernetes

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

Klassisch würden Anwendungen auf Geräten verteilt und gewartet. Es ist bekannt, auf welchem Computer die Anwendung läuft. Wenn eine Anwendung auf einem anderen Computer laufen soll, muss dies von einer Person erledigt werden. Fällt einer der Computer aus, sind alle Anwendungen dieses Computers nicht mehr verfügbar.

Mit Kubernetes erhält der Master eine Zustandsbeschreibung der Anwendung, und der Master kümmert sich um den Rest. Er stellt sicher, dass der gewünschte Zustand jederzeit aufrechterhalten wird. Es ist jedoch nicht bekannt, auf welchem Node die Anwendung gerade läuft, aber sie ist prinzipiell erreichbar.

Fragen und Antworten

Was beschreibt die Zustandsbeschreibung?

Wie installiert man den Cluster?

Wie führt man Updates von Anwendungen durch?

Was passiert, wenn ein Node ausfällt?

Was passiert, wenn der Master ausfällt?

Bestimmte Anwendungen müssen auf bestimmten Nodes laufen, weil Hardwarezugriff nötig ist.

Cluster-Management auf PLCnext: Kubernetes für die industrielle Automatisierung nutzen Cluster-Management auf PLCnext: Kubernetes für die industrielle Automatisierung nutzen

Beispiel

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

Deployment:

Service:

Ingress:

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

## Container-Spezifikationen
spec:
  containers:

## Container-Spezifikation für Frontend
## Name für den Container
  - name: MyContainer-frontend

## Container-Image zu verwenden
    image: MyApplicationImage_frontend

## Ports für das Frontend, http
    ports:
    - containerPort: 80

## Container-Spezifikation für Backend
  - name: MyContainerName-backend
    image: MyApplicationImage_backend
    ports:
    - containerPort: 3000

## Container-Spezifikation für MongoDB
  - name: MyContainerName-mongo
    image: mongo:3.4

## Startbefehle für Mongo DB
    command:
    - "mongod"
    - "--bind_ip"
    - "0.0.0.0"
    ports:
    - containerPort: 27017
---
## Service-Deklaration, Ports für Kubernetes API freigeben (nur intern erreichbar)

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-Deklaration, Proxy an Frontend und Backend binden

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

## Ingress an traefik Service Proxy binden

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

## Ingress-Klasse für Frontend, DNS-Ingress auf Service-Port 80 mappen
spec:
  rules:
  - host: MyApp.Mydomain.de
    http:
      paths:
      - path: /
        backend:
          serviceName: MyApplicationName
          servicePort: frontend

## Ingress-Klasse für Backend, DNS-Ingress auf Service-Port 3000 mappen
  - host: MyApplicationName.MyDomain.de
    http:
      paths:
      - path: /api
        backend:
          serviceName: MyApplicationName
          servicePort: backend

Einen Blick werfen

Industrietechnik

  1. Umformtechnik Stanzen: Arten, Prozesse & Anwendungen im Überblick
  2. Reibschweißen erklärt: Prozess, Vorteile und Anwendungen
  3. Thermisches Spritzen erklärt: Arten, Anwendungen & Vorteile
  4. Wasserglas (Natriumsilikat): Effizienz & Qualität in der Gussproduktion steigern
  5. VLAN-Setup auf PLCnext Control per Linux-Terminal optimieren
  6. Sicheren Remote-gRPC-Zugriff mit grpcurl auf PLCnext-Geräten
  7. PLCnext CLI Templates: C++-Entwicklung effizienter gestalten
  8. Sicher auf PLCnext Webserver zugreifen, der per DHCP eine IP erhält
  9. PLCnext Konsolenanwendung mit C# entwickeln: Einsteigerleitfaden
  10. Echtzeit-Monitoring von PLCnext mit Tableau-Dashboards