Edge Container System¶
Based on Kubernetes and KubeEdge, EnOS Edge Container System provides containerized deployment and upgrade capabilities, and reduces the risk of making mistakes by creating product version packages.
The architecture of Edge container system is as follows:
Application¶
Deploy / upgrade applications by version package
Manage edge nodes remotely (query pod logs)
Node works fine with network disruption
Cloud-Edge Synergy¶
In the network scenario, Edge container system can manage massive Edge nodes in batches.
Edge Autonomy¶
In disconnected or weak network scenarios, Edge nodes rely on the local persistent database to run services by themselves. Edge nodes can interact with the cloud after the network is restored.
Note
It is recommended to pre-deployed nodes before sending them to the site.
Features¶
The product features of Edge container system are as follows:
Create product version packages to ease deployment and reduce error rate
Provide batch deployment / upgrade functions for applications
Edge autonomous operation when there is network disruption
Key Concept¶
Pod¶
Pod is the smallest deployment units that can be created, scheduled, and managed. It is a collection of a set of containers, rather than a single application container. Containers in the same Pod share the same network name. View the Pod logs in the Pods container on ECS platform.
Edge Node¶
An Edge node represents an EnOS Edge computing device, such as the Edge IIoT Gateway and the Edge Extensive. It can be a physical or a virtual machine, which is used to run the edge applications and process data. Also, it can be in sync with the EnOS Cloud. Each Edge node can run multiple Pods.
Deployment¶
A Deployment template is mainly used to define the deployment resources of each component, including CPU and memory reources, application data storage, health check, etc..
ConfigMaps¶
A Config Map is an API object used to store non-confidential data in key-value pairs, including box.conf and lion.properties. It is used to separate the configuration information from programs. It makes the program universal and realize flexible adaptability through different configuration files. For Edge, there are usually 2 types of Config Maps: box.conf and lion.properties.
Version¶
In Edge container system, version service is used to manage application images, deployment templates, lion.properties (function configuration) and startup dependencies. Using product versions to deploy can ease the deploying process(no need to select components, images, etc.).
Usually, Edge version packages on Edge are created by EnOS Edge experts. Operators can just choose the existing version package directly.
The details of the version package are as follows:
Item |
Explanation |
---|---|
Version |
Press”New Version” to create the major version. Based on the major version, create the minor version. |
Product Type |
Gateway or Extensive |
Version Number |
According to the version naming rules, the format of major version number is X.Y.Z. The minor version number is created automatically by the system. |
Description |
The description shows the version content and functions. |
Configuration File |
Each version includes the function configuration of lion.properties. |
Included Component |
Define the component to be deployed |
Docker Image |
The image version related to the component |
Application Template |
Deployment Template |
Rolling Update¶
The rolling update is the publishing mode of the Edge container system. It is the process of alternatively upgrading the versions for the running Pods in a cluster one by one.