已启用 Azure Arc 的 Kubernetes 的群集扩展 提供基于 Azure 资源管理器的体验,用于安装和管理群集中不同 Azure 功能的生命周期。 可以将 扩展部署到群集 ,以支持不同的方案并改进群集管理。
已启用 Azure Arc 的 Kubernetes 群集目前可以与以下扩展配合使用。 本文中所述的所有扩展都是 适用于群集范围的。
- 支持的发行版:云原生计算基金会 (CNCF) 认证的所有 Kubernetes 群集。
Azure Monitor 中的容器见解功能让你可以查看部署在 Kubernetes 群集上的工作负荷的性能。 使用此扩展可以从控制器、节点和容器收集内存与 CPU 利用率指标。
有关详细信息,请参阅 已启用 Azure Arc 的 Kubernetes 群集的容器见解。
Azure Policy 扩展了 Gatekeeper,这是开放策略代理 (OPA) 的准许控制器 Webhook。 请将 Gatekeeper 与 OPA 配合使用,以在群集上持续应用集中的大规模强制措施和安全措施。
有关详细信息,请参阅 了解适用于 Kubernetes 群集的 Azure Policy。
- 支持的发行版:Azure Local 上的 AKS、通过 Azure Arc 启用的 AKS、Cluster API Azure、Google Kubernetes Engine、Canonical Kubernetes Distribution、OpenShift Kubernetes Distribution、Amazon Elastic Kubernetes Service 和 VMware Tanzu Kubernetes Grid。
使用适用于机密存储 CSI 驱动程序的 Azure Key Vault 提供程序,可通过 CSI 卷将 Azure Key Vault 实例作为机密存储与 Kubernetes 群集集成。 对于已启用 Azure Arc 的 Kubernetes 群集,可安装 Azure Key Vault 机密提供程序扩展以提取机密。
有关详细信息,请参阅 使用 Azure Key Vault 机密提供程序扩展将机密提取到已启用 Azure Arc 的 Kubernetes 群集中。
- 支持的发行版:已连接到 Azure Arc 并运行 Kubernetes 1.27 或更高版本的所有 CNCF 认证的 Kubernetes 群集。
适用于 Kubernetes 的 Azure Key Vault 机密存储扩展(“机密存储”)可自动将机密从 Azure Key Vault 实例同步到 Kubernetes 群集以供脱机访问。 即使以半断开连接状态运行 Kubernetes 群集,也可使用 Azure Key Vault 存储、维护和轮换机密。
对于需要脱机访问的场景,或者需要将机密同步到 Kubernetes 机密存储中的情况,我们建议使用机密存储扩展。 如果不需使用这些功能,我们建议改用 Azure Key Vault 机密提供程序扩展。
有关详细信息,请参阅 使用机密存储扩展提取机密,以便在已启用 Azure Arc 的 Kubernetes 群集中脱机访问。
- 支持的发行版:通过 Azure Arc 启用的 AKS、Cluster API Azure、Azure Red Hat OpenShift、Red Hat OpenShift(4.6 或更高版本)、Google Kubernetes Engine Standard、Amazon Elastic Kubernetes Service、VMware Tanzu Kubernetes Grid、Rancher Kubernetes Engine 和 Canonical Kubernetes Distribution。
Microsoft Defender for Containers 是用于保护容器的云原生解决方案,可用于改进、监视和维护群集、容器及其应用程序的安全性。 Microsoft Defender for Containers 从 Kubernetes 群集收集与安全相关的信息,例如审核日志数据。 然后,它基于收集的数据提供建议和威胁警报。
有关详细信息,请参阅 “为容器启用Microsoft Defender”。
重要
Defender for Containers 对已启用 Azure Arc 的 Kubernetes 群集的支持目前以公共预览版提供。
有关适用于 Beta 版、预览版或尚未正式发布的 Azure 功能的法律条款,请参阅 Azure 预览版补充使用条款 。
- 支持的发行版:CNCF 认证的所有 Kubernetes 群集。
ArgoCD(GitOps)扩展(预览版)允许将 Git 存储库用作群集配置和应用程序部署的真相来源。
有关详细信息,请参阅 教程:使用 GitOps 和 ArgoCD 部署应用程序。
- 支持的发行版:CNCF 认证的所有 Kubernetes 群集。
AKS 上的 GitOps 和已启用 Azure Arc 的 Kubernetes 可以通过 Flux v2(一个常用的开源工具集)启用,以帮助管理群集配置和应用程序部署。 通过 Flux 扩展,GitOps 作为群集扩展资源在群集 Microsoft.KubernetesConfiguration/extensions/microsoft.flux
中启用。
有关详细信息,请参阅 教程:将 GitOps 与 Flux v2 配合使用来部署应用程序。
支持 Flux v2 扩展的最新版本和前两个版本 (N-2)。 我们通常建议使用最新版本的扩展。
备注
在发布新版本的 microsoft.flux
扩展后,新版本可能需要几天才能在所有区域中可用。
最近 source-controller
更新了其对“github.com/Masterminds/semver/v3
Go 包”的依赖项,从版本 v3.3.0 升级到 v3.3.1。 此更新更改了语义版本控制(semver)验证规则。
发生了什么变化? 在 semver 包的最新版本(v3.3.1)中,以前被视为有效的某些版本格式现在被拒绝。 具体而言,数值段(例如 1.0.029903)中具有前导零的版本字符串不再被视为有效的语义版本控制 (semver)。
- GitHub 问题供参考: 以前支持的图表版本号现在无效 - fluxcd/source-controller #17380
- 包更改日志:比较 v3.3.0...v3.3.1 · Masterminds/semver
对用户的影响:
- 现有部署不受影响。 当前部署的任何内容将继续按预期运行。
- 如果将来的部署或核对依赖于不遵循更严格的 semver 规则的图表版本,这些部署或核对可能会失败。
- 你可能会看到一个常见的错误:
invalid chart reference: validation: chart.metadata.version "1.0.029903" is invalid
您应该做的事情是: 查看图表版本并确保它们符合适当的语义版本。 避免版本组件中的前导零,并严格遵循 semver.org 规范。
Flux 版本: 发布 v2.5.1
- source-controller:v1.5.0
- kustomize-controller:v1.5.1
- helm-controller:v1.2.0
- notification-controller:v1.5.0
- image-automation-controller:v0.40.0
- image-reflector-controller:v0.34.0
此版本中的更改包括:
- 通过更新 Go 包解决了
fluxconfig-agent
、fluxconfig-controller
、fluent-bit-mdm
中的安全漏洞。 - 现在可以在启用已启用 Arc 的 Kubernetes 群集和 AKS 群集中的工作负载标识时指定租户 ID。
- 已启用 Arc 的 Kubernetes 群集和 AKS 群集中的工作负载标识中的图像自动化控制器支持。
中断性变更:
- 源控制器中的语义版本控制更改(请参阅上面的说明)
Flux 版本: 发布 v2.4.0
- source-controller:v1.4.1
- kustomize-controller:v1.4.0
- helm-controller:v1.1.0
- notification-controller:v1.4.0
- image-automation-controller:v0.39.0
- image-reflector-controller:v0.33.0
此版本中的更改包括:
- 通过更新 Go 包解决了
fluxconfig-agent
、fluxconfig-controller
、fluent-bit-mdm
中的安全漏洞。 - 已启用 Arc 的群集中的工作负载标识的支持。 有关详细信息,请参阅 已启用 Arc 的 Kubernetes 群集和 AKS 群集中的工作负荷标识。
Flux 版本: 发布 v2.4.0
- source-controller:v1.4.1
- kustomize-controller:v1.4.0
- helm-controller:v1.1.0
- notification-controller:v1.4.0
- image-automation-controller:v0.39.0
- image-reflector-controller:v0.33.0
此版本中的更改包括:
- 通过更新 Go 包解决了
fluxconfig-agent
、fluxconfig-controller
、fluent-bit-mdm
中的安全漏洞。 - 添加了针对 AKS 群集使用工作负载标识向 Azure DevOps 存储库进行身份验证的支持。
- 了解有关 Azure Arc 启用 Kubernetes 的集群扩展 的更多信息。
- 了解如何 将扩展部署到已启用 Azure Arc 的 Kubernetes 群集。