将 Kubernetes 资源从中心群集传播到成员群集(预览版)
重要
Azure Kubernetes 舰队管理器预览功能是可选择启用的自助功能。 预览功能是“按现状”和“按可用”提供的,不包括在服务级别协议和有限保证中。 客户支持部门会尽力为 Azure Kubernetes 舰队管理器预览功能提供部分支持。 因此,这些功能并不适合用于生产。
平台管理员通常需要将 Kubernetes 资源部署到多个群集,例如:
- 角色和角色绑定,用于管理谁可以访问哪些内容。
- 需要位于所有群集上的基础结构应用程序,例如 Prometheus、Flux。
应用程序开发人员通常需要将 Kubernetes 资源部署到多个群集,例如:
- 将视频服务应用程序部署到多个群集(每个区域一个),以获得低延迟观看体验。
- 将购物车应用程序部署到两个配对区域,以便客户能够在单个区域中断期间继续购物。
- 将批处理计算应用程序部署到具有廉价现成节点池的群集。
在数十个甚至数百个群集中创建和更新这些 Kubernetes 资源,并在每个群集中跟踪其当前状态非常繁琐。 Azure Kubernetes 舰队管理器 (Fleet) 提供 Kubernetes 资源传播,以大规模管理 Kubernetes 资源。
可以在中心群集中创建 Kubernetes 资源,并通过 Kubernetes 客户资源将其传播到所选成员群集:MemberCluster
和 ClusterResourcePlacement
。
Fleet 基于开源云原生多群集解决方案为这些自定义资源提供支持。
什么是 MemberCluster
?
在将群集加入舰队后,会在中心群集上创建相应的 MemberCluster
自定义资源。
可以使用它选择资源传播中的目标群集。
以下标签将自动添加到所有成员群集中,从而可以用于资源传播中的目标群集选择。
fleet.azure.com/location
fleet.azure.com/resource-group
fleet.azure.com/subscription-id
可在MemberCluster
此处找到 API 参考。
什么是 ClusterResourcePlacement
?
舰队提供 ClusterResourcePlacement
机制,用于控制如何将群集范围的 Kubernetes 资源传播到成员群集。
通过 ClusterResourcePlacement
,可以:
- 选择要传播到成员群集的群集范围的 Kubernetes 资源
- 指定放置策略,以便手动或自动选择部分或所有成员群集作为目标群集
- 指定推出策略,以便安全地将所选 Kubernetes 资源的任何更新推出到多个目标群集
- 查看向每个目标群集的传播进度
为了传播命名空间范围的资源,可以选择一个命名空间,默认情况下,选择该命名空间以及其下的所有命名空间范围的资源。
下图显示了一个示例 ClusterResourcePlacement
。
可在ClusterResourcePlacement
此处找到 API 参考。