你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
本文介绍如何通过 Helm Chart 使用已启用 Azure Arc 的 Kubernetes 群集扩展来管理 Kubernetes 应用程序。 已启用 Azure Arc 的 Kubernetes 中的群集扩展功能包含定义、安装和升级最复杂的 Kubernetes 应用程序所需的所有构建基块。
群集扩展功能基于 Helm 的打包组件构建。 借助扩展,可以使用 Azure 资源管理器驱动的体验在 Kubernetes 群集上安装不同的功能并对它们进行生命周期管理。
群集操作员或管理员可以使用群集扩展功能来实现以下目的:
- 在 Kubernetes 群集上安装和管理密钥管理、数据与应用程序产品/服务。
- 使用 Azure Policy 跨环境中的所有群集自动大规模部署群集扩展。
- 订阅每个扩展的发布周期(例如,
Preview
或Stable
)。 - 为扩展设置自动升级,也可以固定特定版本并手动升级版本。
- 更新扩展属性或删除扩展实例。
扩展可用于支持各种 Azure 服务和方案。 如需当前支持的扩展的列表,请参阅已启用 Azure Arc 的 Kubernetes 群集的可用扩展。
体系结构
若要以高分辨率下载体系结构图,请访问 Jumpstart Gems。
群集扩展实例基于 Azure 资源管理器中已启用 Azure Arc 的 Kubernetes 资源(由 Microsoft.KubernetesConfiguration/extensions
表示)创建为扩展 Azure 资源管理器资源 (Microsoft.Kubernetes/connectedClusters
)。
通过 Azure 资源管理器中的这种表示形式,可以创作用于检查所有已启用 Azure Arc 的 Kubernetes 资源中是否存在特定群集扩展的策略。 确定哪些群集缺少具有特定属性值的群集扩展后,可以使用 Azure Policy 修正不符合的资源。
运行在群集 config-agent
上的组件会跟踪 Azure Arc 启用的 Kubernetes 资源上新的和更新的扩展资源。
extensions-manager
群集中运行的代理读取需要安装的扩展类型。 然后,它会从 Azure 容器注册表或Microsoft容器注册表拉取关联的 Helm 图表,并将其安装在群集上。
config-agent
extensions-manager
群集中运行的组件都处理扩展实例更新、版本更新和删除扩展实例。 这些代理使用群集的系统分配托管标识来安全地与 Azure 服务通信。
注意
config-agent
检查已启用 Azure Arc 的 Kubernetes 群集上新的或更新的扩展实例。 代理需要连接才能将扩展的所需状态拉取到群集。 如果代理无法连接到 Azure,则会延迟将所需状态传播到群集。
扩展实例的受保护配置设置可在已启用 Azure Arc 的 Kubernetes 服务中存储 48 小时。 因此,在 Azure 中创建扩展资源后,如果群集在 48 小时内仍保持断开连接,则扩展 Pending
的状态将从 Failed
状态更改。 为防止这种情况,我们建议定期将群集联机。
重要
目前,基于 ARM64 的群集不支持已启用 Azure Arc 的 Kubernetes 群集扩展,但 Flux(GitOps) 和 Microsoft Defender for Containers 除外。 若要 安装和使用其他群集扩展,群集必须至少有一个作系统和体系结构类型 linux/amd64 节点。
扩展范围
每个扩展类型都定义了它们在群集上运行的范围。 已启用 Arc 的 Kubernetes 群集上的扩展安装范围为群集或命名空间。
在创建扩展实例时,请指定安装位置的命名空间为 release-namespace
。 通常,在集群的发布命名空间中,只安装一个群集范围扩展及其组件的实例,其中包括 Pod、Operator 和自定义资源定义(CRD)。
可以使用该 –namespace
属性在特定命名空间中安装命名空间范围的扩展。 由于扩展可以在命名空间范围内部署,因此可以在群集上运行多个命名空间范围的扩展实例及其组件。 该扩展的每个实例都有其部署的命名空间的权限。 本文中所述的所有扩展都是群集范围的,Kubernetes 扩展上的事件网格除外。
除 Azure Arc 上的 Azure API 管理外,所有当前可用的扩展都是群集范围的。
相关内容
- 使用我们的快速入门将 Kubernetes 群集连接到 Azure Arc。
- 在已启用 Azure Arc 的 Kubernetes 群集上部署群集扩展。