Introduction to Recently, OpenYurt has cooperated with the EdgeX Foundry community to complete the integration and docking: Starting from the v0.5.0 version, OpenYurt will officially support the deployment and management of EdgeX Foundry, and manage the end devices in a cloud-native way. The two parties will jointly help develop It can easily and efficiently solve the challenges of lower-end device management and operation and maintenance in the edge computing scenario of the Internet of Things.

Author|_VMWare Chief Engineer:_Liu Wuming,_Zhejiang University SEL Lab Graduate Student:

review & proofreading: Xiyang, Haizhu

Editing & Typesetting: Wen Yan

background introduction

Edge computing is different from the traditional central cloud computing model, and is widely used in various industries such as automobiles, agriculture, energy, and transportation. Gartner divides edge computing into three parts: "Cloud", "Far Edge", and "Near Edge", corresponding to common public clouds/private clouds, IDC/CDN nodes under the cloud, and device terminals; , End" three-tier structure. With the gradual sinking of computing power and services, the network environment is becoming more and more complex, equipment resources are becoming more and more limited, and equipment architectures are becoming more and more abundant. These changes provide operation and maintenance management of edge nodes and equipment, and improve the reliability of edge applications. Aspects such as sex and resource utilization have brought huge challenges.

Recently, OpenYurt has cooperated with the EdgeX Foundry community to complete the integration and docking: Starting from the v0.5.0 version, OpenYurt will officially support the deployment and management of EdgeX Foundry, and manage end devices in a cloud-native way. The two parties will work together to help developers easily and efficiently To solve the challenges of the management and operation and maintenance of the lower-end equipment in the edge computing scenario of the Internet of Things.

1. OpenYurt: a non-intrusive edge cloud native intelligence platform

OpenYurt is built on native Kubernetes, open sourced by Alibaba Cloud in May 2020, and selected into the CNCF SandBox project in September of the same year. It is the industry's first non-invasive edge computing cloud native open source platform for Kubernetes. OpenYurt focuses on the concept of "cloud-side integration". It provides edge autonomy, cloud-side operation and maintenance channels, unitized deployment, and one-click for the complex network environment, large-scale application delivery, and difficulty in operation and maintenance in edge computing scenarios. Cluster transformation and other capabilities, through the unified management of cloud edge nodes, enable edge nodes to have the same capabilities as the cloud, helping developers to easily complete large-scale application delivery, operation and maintenance, and control on massive edge resources.

image.gif

图片 1.png

2. EdgeX Foundry: Edge IoT Management Platform

EdgeX Foundry is a plug-and-play, open software platform for edge IoT that is strongly supported by the ecosystem. It is highly flexible and expandable, and can greatly reduce the complexity of interoperability between applications and hardware such as edge devices and sensors. EdgeX Foundy adopts a hierarchical and service design. From bottom to top, they are device service, core service, support service, application service, and two auxiliary services of security and management. EdgeX Foundry's layering and services provide a two-way conversion engine between edge devices/nodes and cloud/enterprise applications. Sensor and node data can be transmitted to applications in a specific format, or application instructions can be issued to edge devices.

图片 2.png

  • Device Service Layer: Device Service connects "things", namely sensors and devices, to the rest of EdgeX. Equipment services are edge connectors that interact with "things", including but not limited to alarm systems, heating and air conditioning systems in homes and office buildings, irrigation systems, drones, automated transportation (such as some railway systems), and so on.
  • core service layer: core services include core database, core metadata, configuration and registry, and core command/control four services. They are a layer of abstraction for all types of devices, storing and collecting sensor data and metadata, as well as commands/control and configuration from applications.
  • supports the service layer: mainly includes alarm service, notification service, planning service, and rule engine.
  • Application Service Layer: The application service is responsible for extracting, processing, transforming, and sending sensing data from EdgeX to the breakpoint or process selected by the user. EdgeX now provides many application service examples to send data to some major cloud providers.
  • Security Service Layer: protects the data and control of devices, sensors, and other IoT objects managed by EdgeX. EdgeX's security functions are based on open interfaces, pluggable, and replaceable modules.
  • Management Service: provides a unified excuse for the external management system to start, stop, restart the Edgex service, obtain the status of the service or related indicators, so that the EdgeX service can be monitored.

Expand the "end" capabilities

According to the above introduction, it can be seen that OpenYurt is good at achieving unified management and operation and maintenance of cloud edge resources in a non-intrusive way, so that edge nodes have the same capabilities as the cloud. However, as the related management capabilities are expanded to the "end" level, due to the complex heterogeneous resource support of near-end devices, diverse communication methods, and scattered distribution locations, the following problems will arise:

  • In order to support various edge devices, the existing OpenYurt framework must develop dedicated adapters for each category of devices;
  • In the process of directly hosting end devices, existing solutions either change the Kubernetes architecture or significantly modify the core components, losing some upstream Kubernetes features, and are contrary to OpenYurt's non-intrusive concept.

Starting from the v0.5.0 version, Openyurt and EdgeX Foundry communities have been deeply integrated in a scalable manner, and further cooperated in the fields of edge computing, device management, object model definition, and cloud-native IoT, realizing the powerful synergy of "cloud, edge, and end" . OpenYurt officially supports the management capabilities of end devices by integrating the EdgeX Foundry device management platform. Users can use the Yurt-edgex-manager component to deploy Edgex Foundry instances in one click, and deploy the Yurt-device-controller component to open up the operation and maintenance management channel between the edge device management platform and the cloud, allowing users to declaratively manage edge devices. Provide users with the experience of Kubernetes native management terminal equipment.

OpenYurt v0.5.0 device management solution

1. Use OpenYurt to orchestrate and deploy EdgeX Foundry

A Yurt-edgex-controller controller is introduced in the latest OpenYurt to manage EdgeX CR. EdgeX CR is an abstraction of EdgeX Foundy's deployment in OpenYurt. Users can manage the deployment, update, and deletion of EdgeX by operating CR. No longer need to write complicated Yaml files and Helm Charts.

Users only need to create a CR of EdgeX, and Yurt-edgex-controller will deploy EdgeX according to the version in CR and the name of the corresponding Nodepool. Users can deploy multiple EdgeXs in a cluster according to the number of Nodepools. The version of each EdgeX and the included EdgeX services can be configured.

图片 3.png

  • EdgeX: is a set of abstractions for EdgeX foundy deployment, including the version of EdgeX foundry and the name of the Nodepool that needs to be deployed. The basic EdgeX CR includes 8 basic EdgeX services and deployments. In addition, it also provides AdditionalDeployment and Additional Service fields, allowing users to deploy any required EdgeX components and third-party applications.

In OpenYurt, EdgeX services provide access to the outside world in the form of Kubernetes services. Although different EdgeX instances use the same Kubernates service name, ServiceToploy will ensure that EdgeX components can only access other components belonging to the same EdgeX instance without crossover. The mood of the visit. Yurt-edgex-controller uses the capabilities of unitedeployment to deploy EdgeX components in Nodepool.

2. Cloud native IoT model

Device information abstraction

In order to manage devices in the real world, it is necessary to abstract services related to device management. Yurt-device-controller, as a component that connects the cloud and edge management platform, abstracts three CRDs to map resources on the corresponding device management platform , They are DeviceProfile, DeviceService and Device:

  • DeviceProfile: Describes a device type that uses the same protocol, including some general information, such as manufacturer name, device description, and device model. DeviceProfile also defines the types of resources provided by such devices (for example, temperature, humidity) and how to read/write these resources. Each device needs to be associated with a DeviceProfile;
  • DeviceService: It is the cloud mapping of the edge connector that interacts with the device. It defines how to connect the device to the edge device management platform, including the device's communication protocol, communication address and other information. Each device needs to be associated with a DeviceService;
  • Device: It is the mapping of mid-end devices in the real world, such as appliances, alarm systems, lighting, sensors and other devices. It gives a detailed definition of a specific device, including the associated DeviceProfile (which type of device it belongs to), and the associated DeviceService (using What kind of communication method) and device-specific attributes (such as the switch state of the lighting device, etc.).
Device management architecture

By abstracting the above three CRDs, the basic state information of the device can be reflected, and then the corresponding controller can be used to interact with the edge device management platform, and the end device discovered on the side can be mapped to the cloud in time; at the same time, Yurt-device The -controller component synchronizes the cloud modification of device attributes (for example: setting the switch state of the lighting device) to the end device, thereby affecting the physical device in the real world. Users only need to declaratively modify the corresponding fields of CRs to achieve the purpose of operation and maintenance and management of complex end devices in a cloud-native way. The following are the three components that make up Yurt-device-controller:

  • DeviceProfile controller: It can abstract the deviceProfile object in the edge platform as a deviceProfile CR and synchronize it to the cloud. With the support of the deviceProfile controller, users can view, create or delete the deviceProfile of the edge platform in the cloud.
  • DeviceService controller: It can abstract the deviceService object in the edge platform as a deviceService CR and synchronize it to the cloud. With the support of the deviceService controller, users can view, create or delete the deviceService information of the edge platform in the cloud.
  • Device controller: It can abstract the device object in the edge platform as a device CR and synchronize it to the cloud. With the support of the device controller, users can manage device information on the edge platform by declaratively modifying the cloud device CR, such as creating devices, deleting devices, and updating device attributes (such as setting lights on and off, etc.).

The following is the overall architecture model of the three cloud side terminals:

图片 4.png

The communication range of edge devices is often limited to a certain network area. Therefore, edge nodes in the same network area can be divided into a node pool, and an Edgex Foundry instance and a yurt-device-controller component can be deployed in each node pool:

  • In the communication with the cloud apiserver, Yurt-device-controller will only monitor the device objects belonging to the node pool, and synchronize the updated information to the corresponding device in a timely manner through the Edgex Foundry instance;
  • In the communication with the Edgex Foundry instance, it reuses the capabilities of YurtHub, node pool, and unitized deployment. The Yurt-device-controller component will only access the Edgex Foundry instance in the node pool, and abstract the device information connected to the node pool. Synchronize device, deviceService and deviceProfile objects to the cloud.

Community Cooperation Planning

image.gif 图片 5.png

In the future, both parties will continue to explore cloud-native edge device management solutions for the IoT industry, and attract more lightweight edge device management platforms to join the OpenYurt ecosystem to make the management of end devices more convenient, efficient and cloud-native.

related links:

1)Yurt-edgex-manager:

https://github.com/openyurtio/yurt-edgex-manager

2)Yurt-device-controller:

https://github.com/openyurtio/yurt-device-controller

3) OpenYurt official website:

https://openyurt.io/en-us/

4) EdgeX Foundry official website:

https://www.edgexfoundry.org/

Poke here and get to know the OpenYurt project now!

Copyright Notice: content of this article is contributed spontaneously by Alibaba Cloud real-name registered users. The copyright belongs to the original author. The Alibaba Cloud Developer Community does not own its copyright, and does not assume corresponding legal responsibilities. For specific rules, please refer to the "Alibaba Cloud Developer Community User Service Agreement" and the "Alibaba Cloud Developer Community Intellectual Property Protection Guidelines". If you find suspected plagiarism in this community, fill in the infringement complaint form to report it. Once verified, the community will immediately delete the suspected infringing content.

阿里云开发者
3.2k 声望6.3k 粉丝

阿里巴巴官方技术号,关于阿里巴巴经济体的技术创新、实战经验、技术人的成长心得均呈现于此。


引用和评论

0 条评论