2021-02-09 20:50:55 +08:00
|
|
|
|
# 多集群管理
|
|
|
|
|
|
|
|
|
|
组织需要部署多个 Kubernetes 集群来为不同的业务提供隔离,增强可用性和可扩展性。
|
|
|
|
|
|
|
|
|
|
## 什么是多集群?
|
|
|
|
|
|
2021-11-09 17:26:46 +08:00
|
|
|
|
多集群是一种在多个 Kubernetes 集群上或跨集群部署应用的策略,目的是提高可用性、隔离性和可扩展性。多集群对于确保遵守不同的和相互冲突的法规非常重要,因为单个集群可以进行调整,以遵守特定地域或认证的法规。软件交付的速度和安全性也可以提高,单个开发团队将应用程序部署到隔离的集群中,并有选择地暴露哪些服务可用于测试和发布。
|
2021-02-09 20:50:55 +08:00
|
|
|
|
|
2021-03-30 16:26:01 +08:00
|
|
|
|
## 配置多集群访问
|
|
|
|
|
|
|
|
|
|
你可以使用 `kubectl config` 命令配置要访问的集群,详见[配置对多集群的访问](https://kubernetes.io/zh/docs/tasks/access-application-cluster/configure-access-multiple-clusters/)。
|
|
|
|
|
|
|
|
|
|
## 集群联邦
|
|
|
|
|
|
2021-11-09 17:26:46 +08:00
|
|
|
|
集群联邦(Federation)是指通过 Federation API 资源来统一管理多个集群的资源,如定义 Deployment 如何部署到不同集群上,及其所需的副本数等。这些集群可能位于不同的可用区、地区或者供应商。实施集群联邦一般是为了达到以下目的:
|
2021-03-30 16:26:01 +08:00
|
|
|
|
|
2021-11-09 17:26:46 +08:00
|
|
|
|
- 简化管理多个集群的 Kubernetes 组件 (如 Deployment、Service 等);
|
2021-03-30 16:26:01 +08:00
|
|
|
|
- 在多个集群之间分散工作负载(Pod),以提升应用(服务)的可靠性;
|
|
|
|
|
- 跨集群的资源编排,依据编排策略在多个集群进行应用(服务)部署;
|
|
|
|
|
- 在不同集群中,能更快速更容易地迁移应用(服务);
|
|
|
|
|
- 跨集群的服务发现,服务可以提供给当地存取,以降低延迟;
|
|
|
|
|
- 实践多云(Multi-cloud)或混合云(Hybird Cloud)的部署;
|
|
|
|
|
|
|
|
|
|
更多内容请见[集群联邦](../practice/federation.md)。
|
|
|
|
|
|
2021-02-09 20:50:55 +08:00
|
|
|
|
## 参考
|
|
|
|
|
|
2021-03-30 16:26:01 +08:00
|
|
|
|
- [Multicluster Special Interest Group - github.com](https://github.com/kubernetes/community/blob/master/sig-multicluster/README.md)
|
|
|
|
|
- [配置对多集群的访问 - kubernetes.io](https://kubernetes.io/zh/docs/tasks/access-application-cluster/configure-access-multiple-clusters/)
|