KubeSphere Federation
The multi-cluster feature relates to the network connection among multiple clusters. Therefore, it is important to understand the topological relations of clusters.
How the Multi-cluster Architecture Works
Before you use the central control plane of KubeSphere to management multiple clusters, you need to create a Host Cluster, also known as H Cluster. The H Cluster, essentially, is a KubeSphere cluster with the multi-cluster feature enabled. It provides you with the control plane for unified management of Member Clusters, also known as M Cluster. M Clusters are common KubeSphere clusters without the central control plane. Namely, tenants with necessary permissions (usually cluster administrators) can access the control plane from the H Cluster to manage all M Clusters, such as viewing and editing resources on M Clusters. Conversely, if you access the web console of any M Cluster separately, you cannot see any resources on other clusters.
There can only be one H Cluster while multiple M Clusters can exist at the same time. In a multi-cluster architecture, the network between the H Cluster and M Clusters can be connected directly or through an agent. The network between M Clusters can be set in a completely isolated environment.
If you are using on-premises Kubernetes clusters built through kubeadm, install KubeSphere on your Kubernetes clusters by referring to Air-gapped Installation on Kubernetes, and then enable KubeSphere multi-cluster management through direct connection or agent connection.
Vendor Agnostic
KubeSphere features a powerful, inclusive central control plane so that you can manage any KubeSphere clusters in a unified way regardless of deployment environments or cloud providers.
Resource Requirements
Before you enable multi-cluster management, make sure you have enough resources in your environment.
Namespace | kube-federation-system | kubesphere-system |
---|---|---|
Sub-component | 2 x controller-manager | tower |
CPU Request | 100 m | 100 m |
CPU Limit | 500 m | 500 m |
Memory Request | 64 MiB | 128 MiB |
Memory Limit | 512 MiB | 256 MiB |
Installation | Optional | Optional |
Note
- The request and limit of CPU and memory resources all refer to single replica.
- After the multi-cluster feature is enabled, tower and controller-manager will be installed on the H Cluster. If you use agent connection, only tower is needed for M Clusters. If you use direct connection, no additional component is needed for M Clusters.
Use the App Store in a Multi-cluster Architecture
Different from other components in KubeSphere, the KubeSphere App Store serves as a global application pool for all clusters, including H Cluster and M Clusters. You only need to enable the App Store on the H Cluster and you can use functions related to the App Store on M Clusters directly (no matter whether the App Store is enabled on M Clusters or not), such as app templates and app repositories.
However, if you only enable the App Store on M Clusters without enabling it on the H Cluster, you will not be able to use the App Store on any cluster in the multi-cluster architecture.
Feedback
Was this page Helpful?
Thanks for the feedback. If you have a specific question about how to use KubeSphere, ask it on Slack. Open an issue in the GitHub repo if you want to report a problem or suggest an improvement.