산업기술
수년 동안 IT의 표준이 되었지만 아직 업계에 큰 영향을 주지는 않았습니다. 종종 그러한 기술은 다음과 같이 간주됩니다.
너무 복잡하고 불필요합니다. 발생하는 질문은 이점이 있습니까?
Kubernetes의 예를 사용한 PLCnext의 비전
Kubernetes는 무엇보다도 컨테이너를 사용하여 다양한 장치를 통해 네트워크를 형성하는 오케스트레이터(관리 시스템, 마스터)입니다. 시스템은 약간 다른 방식으로 응용 프로그램을 제공하는 데 사용됩니다.
전통적으로 응용 프로그램은 장치에서 배포 및 유지 관리되었습니다. 응용 프로그램이 실행되는 컴퓨터는 알려져 있습니다. 응용 프로그램이 다른 컴퓨터에서 실행되어야 하는 경우 이 작업은 사람이 수행해야 합니다. 컴퓨터 중 하나에 장애가 발생하면 컴퓨터의 모든 응용 프로그램을 더 이상 사용할 수 없습니다.
Kubernetes를 사용하면 마스터에게 애플리케이션의 상태 설명이 제공되고 나머지는 마스터가 처리합니다. 요청된 상태가 항상 유지되도록 합니다. 다만, 현재 어느 노드에서 애플리케이션이 실행되고 있는지는 알 수 없으나 원칙적으로는 접근이 가능하다.
상태 설명을 개탄하는 것
json
과 같이 완전히 텍스트 형식으로 작성됩니다. 또는 yaml
파일. 따라서 완전히 버전 관리가 가능합니다(예:Git 또는 SVN).클러스터 설치 방법
애플리케이션 업데이트 수행 방법
노드가 실패하면 어떻게 됩니까
마스터가 실패하면 어떻게 됩니까
하드웨어에 대한 액세스가 필요하기 때문에 특정 애플리케이션은 특정 노드에서 실행해야 합니다.
세 개의 컨테이너(프론트엔드, 백엔드, 데이터베이스)로 구성된 애플리케이션의 상태 설명 예.
배포:
서비스:
인그레스:
# 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
산업기술
easymon은 스마트폰 세계의 사용 편의성을 머신 컨트롤러 영역으로 가져오는 원격 모니터링 솔루션입니다. PLCnext 스토어에서 PLCnext 기능 확장을 설치하고 iOS 또는 Google Play 스토어에서 해당 스마트폰 앱을 설치하기만 하면 됩니다. 빠르고 쉬운 구성 후에 선택한 데이터 포인트 업데이트가 페어링된 스마트폰 앱 인스턴스에 전파됩니다. 현재 실행 중인 PLCnext 프로그램의 각 변수는 모니터링되는 데이터 포인트로 구성할 수 있습니다. 1. 디자인에 의한 개인정보 보호 사용 편의성 외에도 easymon을 개발하
PLCnext 기능 앱 easymon 컨트롤의 원격 모니터링을 설정하는 번거로움을 없애줍니다. 클라우드 기반 IoT 서비스의 모든 핵심 부분을 구성하는 대신 모바일 장치에서 모니터링하려는 PLCnext 프로젝트 변수를 선택하고 알림 임계값을 설정하기만 하면 됩니다. 이 구성은 명시적으로 선택한 변수에 대한 데이터만 클라우드로 전파하기 위해 PLCnext에서 실행되는 easymon 구성기에서 발생합니다. PLCnext 저장소는 연결된 PLCnext 컨트롤러에서 기능 확장의 설치 및 관리를 용이하게 하는 데 큰 역할을 합니다.