你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

教程:升级 Azure Linux 容器主机节点

Azure Linux 容器主机通过两种机制提供更新:更新的 Azure Linux 节点映像和自动包更新。

作为应用程序和群集生命周期的一部分,我们建议通过为群集启用升级来让群集保持最新状态并受到保护。 可以启用自动节点映像升级,确保群集在纵向扩展时使用最新的 Azure Linux 容器主机映像。 还可以手动升级群集上的节点映像。

在本教程的第五部分(共五部分)中,你将了解如何执行以下操作:

  • 手动升级群集上的节点映像。
  • 自动升级 Azure Linux 容器主机群集。
  • 在 Azure Linux 容器主机群集中部署 Kured。

注意

如尚未升级到最新版本,任何升级操作(无论是手动执行还是自动执行)都会升级节点映像版本。 最新版本取决于完整的 AKS 版本,可通过访问 AKS 发布跟踪器来确定。

先决条件

手动升级群集

若要手动升级群集上的节点映像,可以运行 az aks nodepool upgrade

az aks nodepool upgrade \
    --resource-group testAzureLinuxResourceGroup \
    --cluster-name testAzureLinuxCluster \
    --name myAzureLinuxNodepool \
    --node-image-only

自动升级群集

自动升级提供了一种一劳永逸的机制,可带来明显的时间和运营成本效益。 通过启用自动升级,可以确保群集是最新版本,并且不会错过来自 AKS 和上游 Kubernetes 的最新 Azure Linux 容器主机功能或补丁。

自动完成的升级在功能上与手动升级相同。 所选通道将决定升级的时间。 更改自动升级后,更改需要 24 小时才能生效。

若要在现有群集上设置自动升级通道,请更新 --auto-upgrade-channel 参数,类似于以下示例,该例会自动将群集升级到以前次要版本支持的最新修补程序版本。

az aks update --resource-group testAzureLinuxResourceGroup --name testAzureLinuxCluster --auto-upgrade-channel stable

有关升级通道的详细信息,请参阅使用群集自动升级

启用自动包升级

与将群集设置为自动升级类似,可以通过启用 node-os 升级通道,对包升级使用相同的“设置一次即忘记”机制。 如果启用了自动包升级,则 dnf-automatic systemd 服务将会每天运行,并安装已发布的任何更新包。

若要在现有群集上设置 node-os 升级通道,请更新 --node-os-upgrade-channel 参数,如以下自动启用包升级的示例。

az aks update --resource-group testAzureLinuxResourceGroup --name testAzureLinuxCluster --node-os-upgrade-channel Unmanaged

启用自动重新启动守护程序

为保护群集,安全更新会自动应用于 Azure Linux 节点。 这些更新包括 OS 安全修补程序、内核更新和包升级。 其中的部分更新需要重启节点才能完成更新进程。 AKS 不会自动重新启动这些来完成更新进程。

建议启用 Kured 等自动重新启动守护程序,以便群集可以重新启动已执行内核更新的节点。 若要在 Azure Linux 容器主机群集中部署 Kured DaemonSet,请参阅在 AKS 群集中部署 Kured

清理资源

由于本教程是本教程系列的最后一部分,因此建议删除 Azure Linux 容器主机群集。 Kubernetes 节点在 Azure 虚拟机上运行,即使你不使用群集,它们也会继续产生费用。 使用 az group delete 命令移除资源组和所有相关资源。

az group delete --name testAzureLinuxCluster --yes --no-wait

后续步骤

在本教程中,你升级了 Azure Linux 容器主机群集。 你已了解如何执行以下操作:

  • 手动升级群集上的节点映像。
  • 自动升级 Azure Linux 容器主机群集。
  • 在 Azure Linux 容器主机群集中部署 Kured。

有关 Azure Linux 容器主机的详细信息,请参阅 Azure Linux 容器主机概述