Compartir a través de

已启用 Azure Arc 的 Kubernetes 代理概述

已启用 Azure Arc 的 Kubernetes 提供集中式一致控制平面,可跨不同环境中的 Kubernetes 群集管理策略、治理和安全性。

将 Kubernetes 群集连接到 Azure Arc 时,Azure Arc 代理会部署到 Kubernetes 群集上。本文概述了这些代理。

将代理部署到群集

大多数本地数据中心强制实施严格的网络规则,防止在网络边界防火墙上进行入站通信。 已启用 Azure Arc 的 Kubernetes 不需要使用防火墙上的入站端口,因此可以在这些限制下正常运行。 Azure Arc 代理需要与网络终结点的固定列表进行出站通信。

此图提供了 Azure Arc 组件的高级视图。 本地数据中心或不同云中的 Kubernetes 群集通过 Azure Arc 代理连接到 Azure。 这允许使用管理工具和 Azure 服务在 Azure 中管理群集。 还可以通过脱机管理工具访问群集。

Diagram showing an architectural overview of the Azure Arc-enabled Kubernetes agents.

将 Kubernetes 群集连接到 Azure Arc 涉及以下高级步骤:

  1. 在你选择的基础结构(VMware vSphere、Amazon Web Services、Google Cloud Platform 等)上创建 Kubernetes 群集。 在将群集连接到 Azure Arc 之前,群集必须已存在。

  2. 开始为群集注册 Azure Arc。

    • 代理 Helm 图表部署在群集上。

    • 群集节点向 Microsoft 容器注册表发起出站通信,并拉取所需的映像用于在 azure-arc 命名空间中创建以下代理:

      Agent 说明
      deployment.apps/clusteridentityoperator 已启用 Azure Arc 的 Kubernetes 目前仅支持系统分配的标识clusteridentityoperator 发起首次出站通信。 此首次通信将提取由其他代理用来与 Azure 通信的托管服务标识 (MSI) 证书。
      deployment.apps/config-agent 监视连接的群集,查看群集上应用的源代码管理配置资源。 更新符合性状态。
      deployment.apps/controller-manager 充当“操作员”角色的操作员,协调 Azure Arc 组件之间的交互。
      deployment.apps/metrics-agent 收集其他 Arc 代理的指标以验证性能是否最佳。
      deployment.apps/cluster-metadata-operator 收集群集元数据,包括群集版本、节点计数和 Azure Arc 代理版本。
      deployment.apps/resource-sync-agent 将上述群集元数据同步到 Azure。
      deployment.apps/flux-logs-agent 从在源代码管理配置过程中部署的 Flux operator 收集日志。
      deployment.apps/extension-manager 安装扩展 Helm chart 并管理其生命周期。
      deployment.apps/kube-aad-proxy 用于通过群集连接对发送到群集的请求进行身份验证。
      deployment.apps/clusterconnect-agent 使群集连接功能可提供对群集的 apiserver 的访问权限的反向代理程序。 可选组件,仅在启用了群集连接功能时才部署。
      deployment.apps/guard 用于 Microsoft Entra RBAC 的身份验证和授权 Webhook 服务器。 可选组件,仅在群集上启用了 Azure RBAC 时才部署。
  3. 在所有已启用 Azure Arc 的 Kubernetes 代理 Pod 均处于 Running 状态后,验证群集是否已连接到 Azure Arc。你应会看到:

    • Azure 资源管理器中已启用 Azure Arc 的 Kubernetes 资源。 Azure 将此资源作为客户管理的 Kubernetes 群集的投影,而不是实际 Kubernetes 群集本身进行跟踪。
    • 群集元数据(例如 Kubernetes 版本、代理版本和节点数)以元数据的形式显示在已启用 Azure Arc 的 Kubernetes 资源上。

后续步骤