Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Промышленные технологии

Управление кластером на PLCnext?

Являясь стандартом в области информационных технологий в течение многих лет, он еще не оказал большого влияния на промышленность. Часто такие технологии рассматриваются как
слишком сложно и не нужно. Возникает вопрос, приносят ли они нам пользу?

Видение PLCnext на примере Kubernetes.

Кубернет

Kubernete — это оркестратор (система управления, мастер), который использует в том числе контейнеры и таким образом формирует сеть через различные устройства. Система используется для предоставления приложений немного другим способом.

Классически приложения будут распространяться и поддерживаться на устройствах. Известно, на каком компьютере работает приложение. Если приложение должно работать на другом компьютере, это должен сделать человек. Если один из компьютеров выйдет из строя, все приложения компьютера перестанут быть доступными.

В Kubernetes мастеру дается описание состояния приложения, а мастер позаботится обо всем остальном. Это гарантирует, что запрошенное состояние поддерживается все время. Однако неизвестно, на каком узле в данный момент запущено приложение, но в принципе оно доступно.

Вопросы и ответы

Что вызывает сожаление, описание состояния

Как установить кластер

Как выполнять обновления приложений

Что произойдет, если узел выйдет из строя

Что произойдет, если мастер выйдет из строя

Некоторые приложения должны работать на определенных узлах, потому что необходим доступ к оборудованию.

Пример

Пример описания состояния приложения, состоящего из трех контейнеров (внешний интерфейс, серверная часть, база данных).

Развертывание:

Сервис:

Вход:

# 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

Посмотрите

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


Промышленные технологии

  1. Что такое штамповка? - Типы, операции и применение
  2. Что такое сварка трением? - Работа и применение
  3. Что такое термическое напыление? - Типы и применение
  4. Применение силиката натрия в литейном производстве
  5. Настройка VLAN в PLCnext Technology
  6. Удаленный gRPC с помощью grpcurl
  7. Шаблоны интерфейса командной строки PLCnext
  8. Доступ к веб-серверу PlcNext по DHCP
  9. Как создать простое консольное приложение PLCnext на C#
  10. Информационная панель PLCnext Tableau