What Is Multi-Cloud Container Platform?
Multi-Cloud Container Platform (MCP) is developed by HUAWEI CLOUD based on years of experience in the cloud container field and a community-advanced cluster federation technology (Karmada). It provides multi-cloud and hybrid cloud solutions for unified cluster management across clouds and unified deployment and traffic distribution of applications across clusters. It not only resolves multi-cloud disaster recovery, but also plays an important role in traffic sharing, decoupling of data storage and service processing, decoupling of development and production environments, and flexible allocation of computing resources.
- Unified cluster management
MCP leverages cluster federation to implement unified management of clusters of different cloud service providers. As a unified entry for multiple clusters, MCP supports dynamic cluster access and global cluster monitoring dashboard, which facilitates cluster deployment, release, and O&M.
- Global application management
MCP manages Kubernetes clusters in different regions or clouds and supports full lifecycle management of applications across clusters, including deployment, deletion, and upgrade, by using standard cluster federation APIs in Kubernetes.
- Cross-cluster auto scaling
MCP supports cross-cluster auto scaling policies to balance the pod distribution in each cluster and implement global load balancing. You do not need to worry about horizontal scaling of cluster nodes. MCP automatically scales in or out resources required by applications based on the application load.
- Cross-cluster service discovery
MCP supports federated service creation and cross-cluster service discovery. It implements service region affinity based on the proximity access principle. In this way, when a service is deployed in multiple regions, the one in the region where the user is located is preferentially accessed, reducing network latency.
- Standards compliance
MCP is compatible with the latest federation architecture of the Kubernetes community and provides native Kubernetes APIs and Karmada APIs. You can use the Kubernetes command lines and APIs to deploy containerized applications without modifying any service code.
- Application federation
MCP supports application federation, which allows you to deploy an application from only one cluster to multiple clusters across clouds in just a few clicks. In this way, cross-cloud DR and traffic sharing can be implemented.
- Cross-cluster application cloning and migration
You can clone or migrate your applications to other clusters or across clouds/regions in just a few clicks without the need of re-writing or modifying your service code.
Karmada is a Kubernetes API-based system for multi-cluster management. In multi-cloud and hybrid cloud scenarios, Karmada provides ready-to-use functions and automated managed multi-cluster applications to implement centralized multi-cloud management, high availability, fault recovery, and traffic scheduling.
- Cross-cluster application management based on Kubernetes APIs allows you to quickly deploy applications from a single cluster to multiple clusters.
- Kubernetes clusters are operated and managed in a centralized manner.
- Cross-cluster applications support automatic extension, failover, and load balancing across multiple clusters.
- Advanced scheduling policies are available. Applications can be scheduled based on the region, availability zone, cloud provider, and cluster affinity/anti-affinity.
- Creation and distribution of CustomResourceDefinition (CRD) resources are supported.
- ETCD: Stores Karmada API objects.
- Karmada Scheduler: Provides advanced multi-cluster scheduling policies.
- Karmada Controller Manager: Contains multiple controllers, which listen to the Karmada objects and communicate with the API servers on the member clusters.
- Resource Template: Karmada uses native Kubernetes API definitions as resource templates to quickly interconnect with the Kubernetes ecosystem tool chain.
- Propagation Policy: Karmada provides independent policy APIs to configure resource propagation policies.
- Override Policy: Karmada provides independent differentiated APIs to configure differentiated configurations related to the clusters. For example, you can use Override Policy to configure different clusters to use different images.
The following figure shows the Karmada resource propagation process: