在业务形态和云灾备场景下,需要服务进行多地域部署,这就需要对 Kubernetes 不同地域的集群进行管理。kubefed(集群联邦)是 Kubernetes 社区中重要的多云管理项目,实现了跨地区跨服务商管理多个 Kubernetes 集群的功能,通过 kubefed 主集群暴露一组 API,对多个集群的配置进行管理。

下面介绍如何快速在阿里云 Kubernetes 容器服务上搭建和使用 kubefed,详情请参见GitHub链接

kubefed架构



kubefed 由两种类型的配置进行管理:
  • Type configuration:说明哪些 API 类型 kubefed 需要管理。
    Type configuration 中有三个概念
    • Template:定义多集群资源模板。
    • Placement:定义多集群资源部署的集群信息。
    • Override:定义每个单独集群 Template 中特殊的字段属性。
  • Cluster configuration:说明哪些集群 kubefed 需要管理。

因此,kubefed 可以定义多集群的 CRD 接口,例如,FederatedNamespace、FederatedService 和 FederatedIngress 等。