Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Tecnología Industrial

Gestión de clústeres en PLCnext: Aprovechando Kubernetes para automatización industrial

Un estándar en TI durante años, aún no ha tenido mucho impacto en la industria. A menudo, tales tecnologías se ven como demasiado complejas e innecesarias. La pregunta que surge es: ¿nos aportan ventajas?

Una visión para PLCnext usando el ejemplo de Kubernetes.

Kubernetes

Kubernetes es un orquestador (sistema de gestión, maestro) que usa, entre otras cosas, contenedores y así forma una red a través de varios dispositivos. El sistema se usa para proporcionar aplicaciones de una manera ligeramente diferente.

Clásicamente, las aplicaciones se distribuirían y mantendrían en dispositivos. Se sabe en qué computadora se ejecuta la aplicación. Si una aplicación debe ejecutarse en otra computadora, esto debe ser hecho por una persona. Si una de las computadoras falla, todas las aplicaciones de esa computadora ya no están disponibles.

Con Kubernetes, al maestro se le da una descripción de estado de la aplicación, y el maestro se encarga del resto. Asegura que el estado solicitado se mantenga en todo momento. Sin embargo, no se sabe en qué nodo se está ejecutando actualmente la aplicación, pero es accesible en principio.

Preguntas y respuestas

¿Qué describe la descripción de estado?

¿Cómo instalar el clúster?

¿Cómo realizar actualizaciones de aplicaciones?

¿Qué pasa si un nodo falla?

¿Qué pasa si el maestro falla?

Ciertas aplicaciones necesitan ejecutarse en ciertos nodos porque se necesita acceso al hardware.

Gestión de clústeres en PLCnext: Aprovechando Kubernetes para automatización industrial
Arquitectura de clúster con Kubernetes
Gestión de clústeres en PLCnext: Aprovechando Kubernetes para automatización industrial
Despliegue de aplicaciones en clúster

Ejemplo

Ejemplo de una descripción de estado de una aplicación que consiste en tres contenedores (frontend, backend, base de datos).

Deployment:

Service:

Ingress:

# 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 reachable)

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

Eche un vistazo

Tecnología Industrial

  1. Estampado explicado: Tipos, procesos y aplicaciones
  2. Soldadura por Fricción Explicada: Proceso, Beneficios y Aplicaciones
  3. Pulverización térmica explicada: Tipos, aplicaciones y beneficios
  4. Silicato de sodio: Mejora de la eficiencia y calidad en la producción de fundición
  5. Optimiza la Configuración VLAN en PLCnext Control con Comandos de Terminal Linux
  6. Acceso Remoto Seguro gRPC con grpcurl en Dispositivos PLCnext
  7. Plantillas PLCnext CLI: Optimice su desarrollo en C++
  8. Acceder de forma segura a un servidor web PLCnext con IP asignada por DHCP
  9. Desarrollar una aplicación de consola PLCnext usando C#: Guía para principiantes
  10. Monitorización en tiempo real de PLCnext con dashboards Tableau
  11. Crea dashboards Power BI desde datos PLCnext en la nube