容器在大多数企业组织中的采用率正在大幅增长。许多企业利用Azure 等云环境来运行其容器化工作负载。在 Azure 中,Azure Kubernetes 服务 (AKS) 允许使用 SaaS 服务运行 Kubernetes 编排的容器。由于使用 AKS 可以轻松配置新的 Kubernetes 集群,因此组织可能很快就会拥有许多不同的 AKS 集群,随着环境数量的增加而带来挑战。近日,微软宣布了 Azure Kubernetes Fleet Manager ,这有助于解决在 Azure 中管理多个 AKS 集群的挑战。
管理过个Azure Kubernetes集群的挑战
过去,当虚拟化盛行时,虚拟机是左右配置的。它导致了一个名为“VM sprawl”的新术语。同样,随着云中 Kubernetes 集群在不同区域、可用性区域等的激增,同样的问题也会出现。随着使用 Azure 和 Azure Kubernetes 服务 (AKS) 的组织继续提供 AKS 集群,这些数字可能会增长和扩展。
开始扩大 AKS 集群数量的企业可能会遇到以下挑战:
- 存在于多个订阅中的 AKS 群集,包括 Dev、Staging、QA、Testing 和 Production
- 跨区域集群
- 跨不同环境中的多个集群的生命周期管理
- 跨 AKS 群集的配置管理
- 一致的容器化应用调度
- 跨多个集群和区域公开相同的应用程序
- 跨多个集群监控应用程序的健康状况
- 监视 AKS 群集本身的运行状况
- 如果没有集中管理解决方案来管理跨不同环境和区域的不同 AKS 集群,则很难满足上述挑战和业务目标。
什么是 Kubernetes fleet manager
Azure Kubernetes Fleet Manager 是一个新的解决方案,有助于解决跨各种环境和区域的多个 AKS 集群的挑战。它旨在解决 Azure Kubernetes 服务 (AKS) 环境中的大规模和多集群问题。Azure Kubernetes Fleet Manager 资源创建一个管理所有其他成员集群的 Fleet Resource 集群。
Azure Kubernetes Fleet Manager 通过创建一个队列资源集群来工作,该集群负责 AKS 队列中其他成员集群的管理活动。因此,Fleet Manager 是一个 Kubernetes 集群,它提供 Hub Kubernetes API,用于通过您的 Fleet of Kubernetes 集群编排操作。您可以将服务从成员集群导出到 Fleet 资源,同步到 Hub。同步资源后,队列中的任何其他成员集群都可以使用它。
我们可以预配为成员群集的以下 AKS 群集:
- 同一订阅内跨相同或不同资源组的 AKS 群集
- 跨同一 Azure AD 租户的不同订阅的 AKS 群集
- 来自不同区域但在同一租户内的 AKS 群集
需要注意的一点是,其解决方案目前将您可以加入同一fleet 资源的 AKS 集群数量限制为20 个成员集群。
Kubernetes fleet manager 的优势
Azure Kubernetes Fleet Manager 具有以下功能和优势:
- 大规模集中管理所有集群
- 托管中心集群
- Kubernetes 配置传播
- 多集群负载均衡
新的 Azure Kubernetes Fleet Manager 是朝着集中管理 Azure Kubernetes (AKS) 集群的正确方向迈出的重要一步。它已经提供了出色的功能,包括集中管理、Kubernetes 资源传播和多集群负载平衡。然而,看起来 Azure Kubernetes Fleet Manager 即将推出的新功能会将解决方案提升到一个新的水平,将支持 Azure Arc 的 Kubernetes 添加到成员服务器和其他强大功能的可能性中。