OTE-Stack is an edge computing platform for 5G and AI. By virtualization it can shield heterogeneous characteristics and gives a unified access of cloud edge, mobile edge and private edge. For AI it provides low-latency, high-reliability and cost-optimal computing support at the edge through the cluster management and intelligent scheduling of multi-tier clusters. And at the same time OTE-Stack makes device-edge-cloud collaborative computing possible.
Note: OTE-Stack is a heavy work in progress.
Through the standard interface, hierarchical clusters can be built quickly. The number of clusters can be theoretically unlimited which can effectively solve the management and scheduling problems of large-scale mobile edge clusters in 5G era.
It supports kubernetes and k3s now. Because edge is a logical cluster,it can support any clusters by cluster-shim in theory. So in 5G era, it can be compatible with different implementations of different operators'MEC platforms. Use k8s cluster shim for both k8s and k3s when WebFrontend is used. k3s cluster shim is a lightweight version of k8s cluster shim without edge resource reporter. For better k3s support, we commit a pull request to make flannel config template, and offer a way to support GPU with k3s.
Only one component and one customize shim can make the third cluster controlled by OTE-Stack. So it's very light and easy to use.
The edge is a complete logical cluster which caches almost all the states. So it will run normally when it is disconnected from the center which can effectively solve the problem of cluster autonomy in the case of weak edge networks.
Because of the hierarchical design of clusters, Cluster Controller at each level will automatically acquire the alternate nodes. Once the connection with the parent node is lost, the connection with the center will be restored through the alternate nodes.
Through Cluster Controller, all the clusters can be integrated into the unified scheduling, and the global optimal use of edge resources can be achieved.
OTE-Stack leverages virtlet for VM-based workloads, and also adds VM operation(start,stop, mount,etc.) via CustomResourceDefinition. So it supports VM,Kata containers and runc which can orchestrate in a unified way. Also, kubevirt can be used to manage VMs inside edge cluster with better support for GPU. WebFrontend of OTE-Stack would support VM operations in future work.
With OTE-Stack, users can orchestrate dockers/VM on Edge clusters just like a traditional kubernetes cluster in the Cloud.
OTE-Stack can run on both x86 and arm architecture. All components of OTE-Stack has been tested on arm except GPU support. Images are avalible on docker hub.
OTE-Stack has the autonomy of edge nodes and supports edge autonomy of k8s and k3s clusters.
OTE-Stack features a pluggable architecture, making it much easier to build on.
On the edge, OTE-Stack provides the ability to support node autonomy within the cluster.
Northbound interface of Controller. By establishing websocket connection with CloudTunnel of upper cluster, messages between clusters can be transmitted smoothly.
It can add tags to cluster, receive and process messages from upper cluster, transmit messages to ClusterHandler, receive messages from ClusterHandler and realize cluster disaster recovery automatically.
It is used to complete the routing of cluster messages, and it accepts the processing of two kinds of cluster routing rules.
It's core components of cluster management.
Southbound interface of Controller. By establishing websocket connection with EdgeTunnel of sub-cluster, messages between clusters can be transmitted smoothly.
It is an adapter of kubernetes cluster, which receives and parses cluster messages forwarded by OTE Cluster Controller, sends them to kubernetes cluster for corresponding processing, and returns the results and status to OTE Cluster Controller in time.
It is an adapter of k3s cluster, which receives and parses cluster messages forwarded by OTE Cluster Controller, sends them to k3s cluster for corresponding processing, and returns the results and status to OTE Cluster Controller in time.
It is deployed on edge nodes to retrieve data from cAdvisor and Node-Exporter which will be uploaded to NodesServer in edge clusters.
In the edge cluster, it is used to aggregate data of each node and provide it to Prometheus (Prometheus can also directly collect data of the node, but requires the node to open the corresponding ports)
Exposing Prometheus data as APIs to OpenAPI and Scheduler
Operations for a single VM, such as start, stop, etc.
Proxy between master and node in the edge cluster.
It is used to take over the state management of the node when the node is disconnected from the master.
OTE-Stack aims to providing a complete solution to edge cloud, so we will gradually open and improve the following core functions in the future.
By adding some tags for edge cluster, you can achieve complex cluster management.
Although k3s and kubeedge have provided reference designs for edge clusters and their design ideas are ingenious, we will still explore how lightweight clusters suitable for edge infrastructure can be designed to better support edge clouds.
We need to consider the scheme of edge cluster and the design of 5G MEC(Multi-access Edge Computing) to abstract the interface and form the access standard of edge cluster. Now provider interface of virtual kubelet may be a candidate for us and we'll try to see if it meets all our requirements.
Because the realization of sub-clusters is different, we need to consider how to use limited data on the basis of hierarchical clusters to schedule resources reasonably to meet the purpose of maximizing the utilization of edge cloud resources.
In order to ensure the accurate delivery of messages, it is necessary to design the shortest path algorithm combining with the topological rules to reduce the transmission of useless messages.
We will also focus on and provide reference designs for other modules, such as Micro-Service framework, automation operation and maintenance of large-scale edge cluster, multi-tenant for edge cloud and Device-Edge-Cloud cooperation.
If you're interested in being a contributor and want to get involved in developing the OTE-Stack code, please see CONTRIBUTING for details on submitting patches and the contribution workflow.
Email: ote-stack@baidu.com
OTE-Stack is under the Apache 2.0 license. See the LICENSE file for details.
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。