一、前言
- Kubernetes 从 1.8 版本起就声称单集群最多可支持 5000 个节点和 15 万个 Pod,实际上应该很少有公司会部署如此庞大的一个单集群,很多情况下因为各种各样的原因我们可能会部署多个集群,但是又想将它们统一起来管理,这时候就需要用到集群联邦(Federation)。
- 集群联邦的一些典型应用场景:
-
- 高可用:在多个集群上部署应用,可以最大限度地减少集群故障带来的影响;
-
- 避免厂商锁定:可以将应用负载分布在多个厂商的集群上并在有需要时直接迁移到其它厂商;
-
- 故障隔离:拥有多个小集群可能比单个大集群更利于故障隔离。
二、Federation v1
- 最早的多集群项目,由 K8s 社区提出和维护。Federation v1 在 K8s v1.3 左右就已经着手设计(Design Proposal),并在后面几个版本中发布了相关的组件与命令行工具(kubefed),用于帮助使用者快速建立联邦集群,并在 v1.6 时,进入了 Beta 阶段;但 Federation v1 在进