在多云端运行Kubernetes与集群联邦
1. 理解Kubernetes集群联邦
Kubernetes集群通常是一个紧密结合的单元,所有组件在相对较近的距离内运行,并通过快速网络连接。然而,在某些情况下,系统需要扩展到单个集群之外。Kubernetes集群联邦是一种将多个Kubernetes集群组合在一起,并将它们作为一个单一实体进行交互的方法。
集群联邦的概念很简单,就是将多个Kubernetes集群聚合起来,视为一个逻辑集群。有一个联邦控制平面,为客户端提供系统的统一视图。联邦控制平面由联邦API服务器和联邦控制器管理器组成,二者协同工作。联邦API服务器将请求转发到联邦中的所有集群,联邦控制器管理器则负责将请求路由到各个联邦集群成员,并确保集群状态与期望状态一致。
2. 集群联邦的重要用例
集群联邦有四类重要的用例:
-容量溢出:公共云平台虽然功能强大,但成本较高。许多大型组织在自己的数据中心投入了大量资源。当部分工作负载出现波动,在短时间内需要更多容量时,可以采用“云爆发”的方法。即大部分工作在本地数据中心或私有服务提供商的Kubernetes集群中运行,同时在大型云平台上有一个备用的Kubernetes集群。大多数时候,基于云的集群处于关闭状态,当需要时可以启动一些停止的实例来弹性增加系统容量。
-敏感工作负载:与容量溢出情况相反,有些数据或工作负载涉及敏感信息,需要在完全由自己控制的环境中运行。例如,监管合规或组织的安全政策可能要求这些数据和工作负载不能从私有Kubernetes集群泄露到基于云的Kubernetes集群。同时,可能需要对公