Author | ZHEJIANG University SEL Laboratory: Jin Chen, Bo Yun: Geng Haotao Review & proofreading: Hai Zhu Editor & Typesetting: Wen Yan

background

In the industrial environment in recent years, the traditional cloud computing capacity has been unable to support the increasingly large and decentralized data processing and computing needs, based on this, edge computing arises in response to the trend. In particular, with the continuous promotion of new technologies such as 5G and the Internet of Things, the edge computing industry has gone into a storm. Although the development of edge computing has entered the stage of practice at present, there are still some problems, especially network becomes a pain point of the landing of edge computing. This is because edge networks and data center networks are fundamentally different:

  • Edge environment is generally weak network environment, using 5G, WiFi and other wireless connections, large delay, high packet loss rate, unstable.

  • An edge node has no fixed public IP address and can only initiate connections but cannot receive connections.

  • Edge networks generally use the Internet, which itself is an insecure network.

OpenYurt is the first non-invasive edge computing cloud native open source project in the industry. In the architecture, YURt-Tunnel mainly provides cloud side communication for the operation and maintenance of the control plane to monitor traffic. However, OpenYurt does not intend to solve the problem of cloud side and data side communication across the public network by itself. It hopes to cooperate with mature solutions related to cloud native network of open source community (such as FabEdge community) to jointly promote the construction of edge computing cloud native ecology.

FabEdge is a kubernetes-based container network solution designed specifically for edge computing scenarios. It complies with THE CNI specification and can seamlessly integrate any Kubernetes environment to solve the problems of cloud side collaboration, edge side collaboration and other cross-regional communication in edge computing scenarios.

Context OpenYurt integrates with FabEdge

1) OpenYurt construction preparation

Ali Cloud ECS service node

Two cloud nodes (master and Cloud-node, operating system: CentOS Linux Release 7.9.2009 (Core)) are on the same Intranet. Flannel(V0.14.0) is deployed on the cloud. OpenYurt Cluster components: Yurt-tunnel-Server, yurt-Controllor-Manager.

Two edge nodes (edge-node1, edge-node2, same as above). OpenYurt Cluster components: Yurt-tunnel-agent and Yurt-Hub.

2) Integrated deployment of OpenYurt and FabEdge

OpenYurt(V0.5.0)

OpenYurt Manual deployment: github.com/openyurtio/…

Kubernetes one-click Conversion OpenYurt: github.com/openyurtio/…

OpenYurt Deployment Precautions:

  • When yurt-tunnel-server is deployed, the default IP address for certificate authentication of the tunnel-server is a private NETWORK IP address. Therefore, you need to add args in the tunnel-server parameter –cert-ips=tunnel-server. That is, the public IP address of the node where the tunnel-server resides.

  • Similarly, when deploying yurt-tunnel-agent, the tunnel-Agent needs to establish a connection with the tunnel-server. Therefore, add tunnelserver-addr to args of the tunnel-Agent. That is, the public IP address of the node where the tunnel-server resides plus the exposed port.

FabEdge integration with OpenYurt reference: github.com/FabEdge/fab…

FabEdge validation tests

The integrated environment is generally divided into two cases: cloud Pod visits edge Pod and edge Service, and edge Pod visits cloud Pod and Service.

At the same time, considering that Pod of hostNetwork has great dependence on cluster environment, Pod is divided into hostNetwork type and normal container network type scenarios.

When a Pod accesses a Service, the Pod in the Endpoint is divided into hostNetwork type and normal container type Pod.

conclusion

  • At present, only cross-public network cloud-side communication is tested, and its functions basically meet the requirements. The cross-public network edge test will be performed based on actual service requirements.

  • FabEdge takes over the existing container network solutions (such as Flannel and Calico) in the edge environment. Meanwhile, a complete container network solution needs to be deployed in the cloud, which may affect the upgrade of existing users.

Click here to learn about the OpenYurt project now!