舰队中心群集概述

本文概述了 Azure Kubernetes 舰队管理器(舰队)如何进行中心群集生命周期管理。

可以在使用或不使用中心群集的情况下创建舰队资源。 中心群集是一个托管的 Azure Kubernetes 服务 (AKS) 群集,充当用于存储和传播 Kubernetes 资源的中心。 当中心群集被锁定,从而防止用户启动的配置更改时,舰队服务会管理这些更改,使其保持最新状态。

中心群集生命周期管理

中心群集的生命周期管理涉及定期更新以下三个组件:

1. 节点映像版本

节点映像版本包括新发布的虚拟硬盘 (VHD),其中包含安全修补程序和 bug 修复程序。

AKS 会每周发布节点映像版本升级。 此版本涉及逐步区域部署,可能需要长达 10 天才能到达所有区域。 在区域中提供新映像后,通常会在将升级应用到中心之前延迟长达 24 小时。

2. Kubernetes 补丁版本 (x.y.1)

Kubernetes 补丁版本包括针对安全漏洞或重大 bug 的修复程序。

AKS 在安全补丁的上游发布之后发布新的 Kubernetes 补丁版本。 可以在“AKS 版本状态”上跟踪版本。 同样,该版本可能需要长达 10 天才能到达所有区域,并且升级可能需要长达 24 小时才能应用到中心。

3. Kubernetes 次要版本 (x.30.y)

Kubernetes 次要版本包括新功能和改进。

新次要版本的上游发布大约按季度进行,独立于针对安全漏洞的修复程序。 AKS 发布新次要版本后,舰队会进行一致性测试,并在认为已准备就绪时开始在中心部署次要版本。

客户的要求

为了使舰队能够使用最新补丁使中心群集保持最新状态,请确保中心群集满足以下条件:

  1. 中心具有足够的配额。 对于中心群集节点虚拟机 (VM) SKU 类型的一个额外 VM 实例,在升级过程中短暂需要额外的配额。
  2. 中心具有 Internet 访问权限。 需要出站连接才能安装更新。 例如,具有用户定义的路由表 (UDR) 或防火墙规则的中心可能会阻止出站连接。 若要详细了解出站连接,请参阅有关 AKS 出站网络的文档

中心群集配置详细信息

在 Azure Kubernetes 舰队管理器中,中心群集充当多个成员群集的中央管理点。 下面是其功能和安全措施的详细概述:

  • 定义和功能:

    • 中心群集是一个托管的 Azure Kubernetes 服务 (AKS) 群集,可跨成员群集协调和传播 Kubernetes 资源。
    • 它负责管理定期的组件升级,确保舰队内的所有群集都有最新的安全补丁和功能。
  • 由 Microsoft 管理:

    • 中心群集由 Microsoft 管理,这意味着用户无法直接在这些群集上创建或部署应用程序。 此限制有助于维持稳定和安全的环境。
  • 防止修改的保护措施:

    • 为了防止未经授权的更改,采取了多项保护措施:
      • 禁用命令调用:在中心群集上禁止通过 Azure CLI 进行命令调用,阻止用户执行可能更改群集配置的命令。
      • 禁用本地身份验证:禁止通过管理员 kubeconfig 进行访问,确保仅通过 Microsoft Entra ID 处理身份验证。 这样就通过集中访问控制增强了安全性。
  • 信封 ConfigMap:

    • 使用信封 ConfigMap 来管理配置,而不会对中心群集造成副作用。 使用此方法,可以将设置安全地传播到成员群集,同时保持中心群集环境的完整性。 这些配置共同增强了中心群集的安全性和稳定性,确保它们有效地作为 Azure Kubernetes 舰队管理器的主干发挥作用。 有关信封对象的详细信息,请参阅使用 ConfigMap 的信封对象的文档

除了管理定期组件升级之外,舰队服务还会在中心群集上设置以下配置,以强化安全性:

  • 在中心群集上禁用将 command invoke 与 Azure CLI 结合使用。
  • 中心群集将 Azure Linux 用于节点映像。
  • 中心群集上禁用了本地身份验证(通过 admin kubeconfig 进行访问)。 禁用本地身份验证方法可确保 AKS 群集仅需要 Microsoft Entra ID 即可进行身份验证,从而提高安全性。