Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Tecnologia industrial

Gerenciamento de Cluster no PLCnext: Aproveitando Kubernetes para Automação Industrial

Padrão em TI há anos, ainda não causou grande impacto na indústria. Frequentemente tais tecnologias são vistas como complexas e desnecessárias. A questão: trazem vantagens?

Visão para PLCnext usando Kubernetes como exemplo.

Kubernetes

Kubernetes é orquestrador (sistema de gestão, master) que usa containers e forma rede via vários dispositivos. Sistema usado para prover aplicações de forma diferente.

Classicamente, aplicações seriam distribuídas e mantidas em dispositivos. Sabe-se em qual computador a aplicação roda. Se deve rodar em outro, pessoa deve fazer. Se computador falha, todas aplicações ficam indisponíveis.

Com Kubernetes, o master recebe descrição de estado da aplicação, e cuida do resto. Garante que estado solicitado seja mantido sempre. Não se sabe em qual nó a aplicação roda, mas é acessível em princípio.

Perguntas e respostas

O que é descrição de estado

Como instalar cluster

Como atualizar aplicações

O que acontece se node falha

O que acontece se master falha

Certas aplicações precisam rodar em certos nodes por acesso a hardware

Gerenciamento de Cluster no PLCnext: Aproveitando Kubernetes para Automação Industrial Gerenciamento de Cluster no PLCnext: Aproveitando Kubernetes para Automação Industrial

Exemplo

Exemplo de descrição de estado de aplicação com três containers (frontend, backend, database).

Deployment: Define configurações necessárias para containers.

Service: Cria interface para aplicação centralmente no cluster. Interface sempre válida independentemente do node do deployment.

Ingress: Liga interface ao frontend via entrada DNS. Frontend sempre alcançável no mesmo domínio.

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

Veja também

Tecnologia industrial

  1. Estampagem Explicada: Tipos, Processos e Aplicações
  2. Soldagem por Fricção Explicada: Processo, Benefícios e Aplicações
  3. Pulverização Térmica Explicada: Tipos, Aplicações e Benefícios
  4. Silicato de Sódio: Aumentando Eficiência e Qualidade na Produção de Fundição
  5. Simplifique Configuração VLAN no PLCnext Control com Comandos Linux Terminal
  6. Acesso Remoto Seguro gRPC com grpcurl em Dispositivos PLCnext
  7. Templates PLCnext CLI: Agilize seu Desenvolvimento em C++
  8. Acessar Seguramente Servidor Web PLCnext com IP via DHCP
  9. Desenvolver Aplicação Console PLCnext em C#: Guia para Iniciantes
  10. Monitoramento em Tempo Real do PLCnext com Dashboards Tableau