background
With the explosive growth of 5G and Internet of Things devices and the ever-increasing computing capabilities of smart terminals, unprecedented amounts of data have been brought about, and traditional centralized computing has been stretched. The implementation of the "new infrastructure" strategy, industrial Internet, car networking/autonomous driving, smart transportation, cloud gaming and VR/AR and other benchmark applications lead the industry integration, the normalization of enterprise cloud, spawning distributed cloud, hybrid cloud, edge cloud And other concepts. Gartner predicts that by 2025, more than 50% of organizations will use distributed cloud options in their chosen locations to transform their business models. 75% of the data generated by the enterprise will be created and processed outside of the traditional data center or cloud, closer to the edge of the end user.
The cloud computing industry is ushering in a new round of growth. Domestic and foreign manufacturers and open source communities have taken the lead. They respectively released and open sourced the Open Cluster Management (OCM) project and the Clusternet project, unified management of Kubernetes applications under multi-cloud and multi-cluster, and integrated cloud Native sinking realizes cloud-side-end integration. builds a new generation of open multi-cluster management system based on OCM and Clusternet, which manages the "cluster network" from the center to the edge, from the computer room to the terminal.
Clusternet
Clusternet (Cluster Internet) is Tencent's open source multi-cluster and application management software. Whether clusters are running on public cloud, private cloud, hybrid cloud or edge cloud, Clusternet allows you to manage/access them as if they were running locally. K8s API centrally deploys and coordinates multi-cluster applications and services. Through the Addon plug-in method, users can install, operate, and integrate with one click, and easily manage millions of Kubernetes clusters, just as free and convenient as accessing the Internet.
Clusternet is designed for future hybrid cloud, distributed cloud and edge computing scenarios, and supports the access and management of massive clusters. The flexible cluster registration capability can adapt to the cluster management needs under various complex network conditions, and is simplified by compatible cloud-native Kubernetes APIs. User management and operation and maintenance costs accelerate the cloud-native transformation of user business.
Clusternet provides users with:
One-stop management of various Kubernetes clusters
Clusternet supports Pull mode and Push mode to manage clusters. Even when the cluster is running in the VPC intranet, at the edge or behind a firewall, the Clusternet can still establish a network tunnel to connect to the management cluster.
Support cross-cluster service discovery and service mutual access
In the absence of a dedicated network channel, it can still provide cross-cluster access routing.
Fully compatible with native Kubernetes API
It is fully compatible with Kubernetes standard APIs, such as Deployment, StatefulSet, DaemonSet, as well as user-defined CRDs, etc. Users only need to do simple configuration to upgrade from a single-cluster application to a multi-cluster without learning complex multi-cluster APIs.
Support the deployment of Helm Chart, Kubernetes native applications and custom CRDs
Support Helm chart type applications, including Chart distribution, differentiated configuration, state convergence, etc., consistent with the capabilities of the native Kubernetes API.
Rich and flexible configuration management
Provides multiple types of configuration strategies, and users can flexibly match these configurations to achieve complex business scenarios, such as multi-cluster grayscale publishing.
Addon capability, simple structure
The Aggregated ApiServer method is adopted and does not rely on additional storage. The structure is simple, easy to deploy, and greatly reduces the complexity of operation and maintenance.
Convenient access
Clusternet provides complete docking capabilities, supporting kubectl plugin and client-go , which facilitates one-click access to services and has the ability to manage multiple clusters.
OCM ( Open Cluster Management )
OCM (Open Cluster Management) is a community-driven project that focuses on multi-cluster and multi-cloud scenarios for Kubernetes applications. OCM aims to simplify the management of multiple Kubernetes clusters deployed in a mixed environment, and expand the multi-cluster management capabilities for different management tools in the Kubernetes ecosystem. OCM summarizes the basic concepts required for multi-cluster management, adopts the hub-agent architecture, and defines a number of primitives and basic components for multi-cluster management to meet the requirements of multi-cluster management:
- The managed cluster is defined through the ManagedCluster API. At the same time, OCM will install an agent named Klusterlet in each cluster to complete cluster registration, life cycle management and other functions.
- Define how to schedule the configuration or workload to which clusters through the Placement API. The scheduling result will be stored in the PlacementDecision API. Other configuration management and application deployment tools can use PlacementDecision to determine which clusters need to be configured and deployed.
- Define the configuration and resource information distributed to a cluster through the ManifestWork API.
- The clusters are grouped through the ManagedClusterSet API, and the boundaries for users to access the cluster are provided.
- Through the ManagedClusterAddon API, define how the management probe is deployed to multiple clusters and how it communicates securely and reliably with the control plane of the hub.
By using OCM's API primitives, the deployment and operation and maintenance of open source multi-cluster management projects are simplified, and the multi-cluster management capabilities of many Kubernetes single-cluster management tools are expanded. E.g:
- Simplify the management of submariner and other multi-cluster network solutions. Use OCM's plug-in management function to centralize the deployment and configuration of submariner on a unified management platform.
- Provide a wealth of multi-cluster scheduling strategies and reliable resource distribution engines for application deployment tools (KubeVela, ArgoCD, etc.).
- Extend existing Kubernetes single-cluster security policy management tools (Open Policy Agent, Falco, etc.) to enable multi-cluster security policy management capabilities.
OCM is also used for application deployment and security policy management through two built-in management plug-ins. The application deployment plug-in adopts a subscriber model, which can obtain application deployment resource information from different sources by defining a subscription channel (Channel).
Clusternet and OCM bursts out more powerful capabilities
From the above introduction, it can be seen that Clusternet has powerful cluster access and management capabilities, supports massive cluster registration and management in various complex scenarios, and meets the platform management requirements for future hybrid cloud, distributed cloud and edge computing. At the same time, OCM has mature multi-cluster application management capabilities. Through a number of multi-cluster management primitives and basic components, it realizes the multi-cluster publishing and management of various Kubernetes projects and applications. The combination of the two achieves complementary advantages, strong alliances, and provides more powerful multi-cluster and application governance capabilities.
How to combine the capabilities of OCM and Clusternet, community developers from Redhat (github: skeeey ) realized clusternet-addon , based on OCM's Addon-Framework , demonstrated how powerful OCM can be Cluster management capabilities, to achieve access to sub-clusters through RBAC, and to distribute applications to multiple sub-clusters through Push mode. The OCM community will work closely with the Clusternet community and continue to promote the integration with the Clusternet project as a sub-project.
Interested students can check clusternet-addon for more information, or continue to follow the OCM and Clusternet project communities for the latest developments.
Participating in the community
The OCM and Clusternet projects are important open source projects of Red Hat Software, Tencent Cloud and its partners. The combination of the two demonstrates the powerful capabilities and unparalleled scalability of the next-generation open multi-cluster management platform. Technology, new formats and new services provide a solid platform foundation and unlimited possibilities.
The Clusternet project has released version v0.3.0, which supports multiple features of multi-cluster and application management. With the continuous iteration of Clusternet, it will provide users with more complete and powerful capabilities in the future.
The OCM project is closely integrated with the kubernetes ecosystem to realize multiple design schemes of kubernetes sig-multicluster, including KEP-2149 Cluster ID
And the concept clusterset in KEP-1645 Multi-Cluster Services API . Also working with other developers in the community to promote the development of Work API ).
The OCM and Clusternet projects are still undergoing rapid development iterations. Industry companies and community developers are welcome to participate, exchange and learn, and build a more open and infinite cloud world in the future.
link
project address: 161162253eb315 https://github.com/open-cluster-management-io
official website address: 161162253eb329 https://open-cluster-management.io
-Clusternet project address: https://github.com/clusternet/clusternet
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。