已启用 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 中管理群集。 还可以通过脱机管理工具访问群集。
将 Kubernetes 群集连接到 Azure Arc 涉及以下高级步骤:
在你选择的基础结构(VMware vSphere、Amazon Web Services、Google Cloud Platform 等)上创建 Kubernetes 群集。 在将群集连接到 Azure Arc 之前,群集必须已存在。
开始为群集注册 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 时才部署。
在所有已启用 Azure Arc 的 Kubernetes 代理 Pod 均处于
Running
状态后,验证群集是否已连接到 Azure Arc。你应会看到:- Azure 资源管理器中已启用 Azure Arc 的 Kubernetes 资源。 Azure 将此资源作为客户管理的 Kubernetes 群集的投影,而不是实际 Kubernetes 群集本身进行跟踪。
- 群集元数据(例如 Kubernetes 版本、代理版本和节点数)以元数据的形式显示在已启用 Azure Arc 的 Kubernetes 资源上。
后续步骤
- 参考快速入门将 Kubernetes 群集连接到 Azure Arc。
- 查看发行说明以查看有关最新代理版本的详细信息。
- 了解升级已启用 Azure Arc 的 Kubernetes 代理。
- 详细了解如何在群集与 Git 存储库之间创建连接,作为已启用 Azure Arc 的 Kubernetes 中的配置资源。