By Chen Jinci and He Linbo
OpenYurt v0.7.0 was released on May 27, 2022.
The new version mainly released the Raven solution. It solves the communication problem between pods at the edge and edge across the public network without being intrusive to the native container network solution. It meets the demands of the container network in the cloud-edge collaboration scenario. OpenYurt v0.7.0 also supports the LTS version (Jakarta) of EdgeX Foundry and the K8s version v1.22.
OpenYurt clusters provide single-cluster container network connectivity across the public network edge-to-edge and edge-to-cloud. Its main technical principle is to enable container networks on different edge nodes to connect through encrypted public network tunnels, thus realizing cross-edge business traffic or controlling traffic communication. It is compatible with the current mainstream container network solutions (such as flannel and calico), which means the communication in NodePool still uses the native container network solution.
Edge-to-edge and edge-to-cloud communication are common network communication scenarios in edge computing. We have introduced YurtTunnel for the OpenYurt project to deal with the network issues of O&M and monitoring in edge-cloud collaboration. It allows you to execute kubectl exec/logs on edge nodes and obtain monitoring metrics from them. However, the problem that YurtTunnel solves is only a subset of edge-to-cloud communication. Before v0.7.0, there was no solution for edge-to-edge and edge-to-cloud container network communication.
In some cases, pods in different physical regions in an OpenYurt cluster may need to communicate with other pods using Pod IP, Service IP, or Service Name. Although these pods are in a single Kubernetes cluster, they cannot communicate if they are in different physical regions (network domains).
The Raven project is based on the collaboration of the open-source community, including requirement discussion, scheme design, and final implementation. The overall design concepts include:
The following figure shows the architecture of the Raven solution:
The preceding two components use a Gateway CRD to exchange the necessary information for configuring routes and establishing a VPN tunnel, as shown in Figure 2.
Please refer to the project code warehouse for more details:
EdgeX Foundry Jakarta is the first LTS version and is widely regarded as a product version. Support for EdgeX Foundry Jakarta versions has been completed in OpenYurt v0.7.0. Since the EdgeX Jakarta version is switched to API v2, OpenYurt optimizes the adaptation logic with EdgeX, and CRD is partially optimized. Please refer to [#30] for details.
OpenYurt has done a lot to adapt to Kubernetes v1.22: v1beta1.CSR is removed from resources, and CSR.signerName is verified and updated. Each component in OpenYurt that applies for certificates has been adapted accordingly. At the same time, the Service Topology feature is adapted to requests for v1.EndpointSlice resources, and the YurtTunnel is adapted to remove StreamingProxyRedirects features. Please refer to [#809] for details.
The IPv6 network first requires CNI container network support. In OpenYurt, network configuration and certificate application are mainly involved in YurtHub and YurtTunnel. Please refer to [#842] for details.
OpenYurt v0.7.0 focuses on Raven, a cross-network domain solution. It also supports EdgeX Foundry LTS version, K8s v.122, IPv6 network, and others.
OpenYurt v0.8.0 is progressing steadily at the moment. The OpenYurt community has set up SIGs (such as ControlPlane, DataPlane, IoT, etc.) to support and collaborate with 15 + projects in the community. You are welcome to participate in the joint construction.
Please pay attention to this link for the roadmap of OpenYurt v0.8.0.
OpenYurt Release v0.7.0
https://github.com/openyurtio/openyurt/releases/tag/v0.7.0
OpenYurt v0.7.0 CHANGELOG
https://github.com/openyurtio/openyurt/blob/master/CHANGELOG.md#v070
OpenYurt v0.8.0 RoadMap
https://github.com/openyurtio/openyurt/blob/master/docs/roadmap.md#v080-roadmap
[#30]:
https://github.com/openyurtio/yurt-device-controller/pull/30
508 posts | 48 followers
FollowAlibaba Cloud Native Community - June 30, 2023
Alibaba Cloud Community - August 19, 2022
Alibaba Cloud Native Community - May 4, 2023
Alibaba Container Service - November 7, 2024
Alibaba Developer - March 30, 2022
Alibaba Developer - January 21, 2021
508 posts | 48 followers
FollowAlibaba Cloud offers an accelerated global networking solution that makes distance learning just the same as in-class teaching.
Learn MoreAlibaba Cloud Container Service for Kubernetes is a fully managed cloud container management service that supports native Kubernetes and integrates with other Alibaba Cloud products.
Learn MoreConnect your business globally with our stable network anytime anywhere.
Learn MoreHTTPDNS is a domain name resolution service for mobile clients. It features anti-hijacking, high accuracy, and low latency.
Learn MoreMore Posts by Alibaba Cloud Native Community