升级已启用 Azure Arc 的 Kubernetes 代理
已启用 Azure Arc 的 Kubernetes 为其代理提供自动升级和手动升级功能,方便用户将代理升级到最新版本。 如果禁用自动升级而依赖手动升级,则版本支持策略适用于 Arc 代理和基础 Kubernetes 群集。
将群集连接到 Azure Arc 时开启或关闭自动升级
已启用 Azure Arc 的 Kubernetes 为其代理提供现成的自动升级功能。 启用自动升级后,代理将每小时轮询 Azure 以检查是否有更新的版本。 更新版本可用时,会触发对 Azure Arc 代理执行 Helm 图表升级。
将群集连接到 Azure Arc时,默认设置是启用自动升级。
以下命令可将群集连接到已启用自动升级的 Azure Arc:
az connectedk8s connect --name AzureArcTest1 --resource-group AzureArcTest
重要
确保允许与所有必需终结点的连接。 具体说来,自动升级需要连接到 dl.k8s.io
。
要选择禁用自动升级,请在将群集连接到 Azure Arc 时指定 --disable-auto-upgrade
参数。
以下命令可将群集连接到已禁用自动升级的 Azure Arc:
az connectedk8s connect --name AzureArcTest1 --resource-group AzureArcTest --disable-auto-upgrade
提示
如果计划禁用自动升级,请查看已启用 Azure Arc 的 Kubernetes 的版本支持策略。
将群集连接到 Azure Arc 后开启或关闭自动升级
将群集连接到 Azure Arc 后,可以通过使用 az connectedk8s update
命令并将 --auto-upgrade
设置为 true 或 false 来更改自动升级选择。
以下命令为已连接群集关闭自动升级:
az connectedk8s update --name AzureArcTest1 --resource-group AzureArcTest --auto-upgrade false
手动升级代理
如果禁用了自动升级,则可以使用 az connectedk8s upgrade
命令手动启动代理升级。 执行此操作时,必须指定要升级到的版本。
关于代理的版本控制,已启用 Azure Arc 的 Kubernetes 遵循 MAJOR.MINOR.PATCH
的标准语义版本控制方案。 版本中的每个编写表示与前一版本的一般兼容性:
- 当存在不兼容的 API 更新或向后兼容性可能损坏时,表示重要版本变化。
- 当功能更改与其他次要版本向后兼容时,表示次要版本变化。
- 当进行向后兼容的 bug 修复时,表示修补程序版本变化。
虽然计划可能有所不同,但已启用 Azure Arc 的 Kubernetes 代理的新次要版本每月大约发布一次。
以下命令手动将代理升级到版本 1.8.14:
az connectedk8s upgrade -g AzureArcTest1 -n AzureArcTest --agent-version 1.8.14
检查代理版本
若要列出连接的群集和报告的代理版本,请使用以下命令:
az connectedk8s list --query '[].{name:name,rg:resourceGroup,id:id,version:agentVersion}'
检查是否在群集上启用了自动升级
若要检查群集是否已启用自动升级,请运行以下 kubectl 命令。 请注意,已启用 Azure Arc 的 Kubernetes 的公共 API 中不提供自动升级配置。
kubectl -n azure-arc get cm azure-clusterconfig -o jsonpath="{.data['AZURE_ARC_AUTOUPDATE']}"
版本支持策略
为已启用 Azure Arc 的 Kubernetes 创建支持请求时,会应用以下版本支持策略:
已启用 Azure Arc 的 Kubernetes 代理的支持窗口为“N-2”,其中“N”代表最新的代理次要版本。
- 例如,如果已启用 Azure Arc 的 Kubernetes 今天发布了 0.28.a,则 0.28.a、0.28.b、0.27.c、0.27.d、0.26.e 和 0.26.f 均受支持。
连接到 Azure Arc 的 Kubernetes 群集的支持窗口为“N-2”,其中“N”代表上游 Kubernetes 的最新稳定次要版本。
- 例如,如果 Kubernetes 今天发布了 1.20.a,则 1.20.a、1.20.b、1.19.c、1.19.d、1.18.e 和 1.18.f 均受支持。
如果要创建支持请求并使用支持策略范围之外的版本(早于“N-2”受支持版本的代理和上游 Kubernetes 群集),系统会要求你将群集和代理升级到受支持的版本。
后续步骤
- 参考快速入门将 Kubernetes 群集连接到 Azure Arc。
- 已将 Kubernetes 群集连接到 Azure Arc? 在已启用 Azure Arc 的 Kubernetes 群集上创建配置。
- 了解如何使用 Azure Policy 大规模应用配置。