Azure Linux 容器主机通过两种机制提供更新:更新的 Azure Linux 节点映像和自动包更新。
作为应用程序和群集生命周期的一部分,我们建议通过为群集启用升级来让群集保持最新状态并受到保护。 可以启用自动节点映像升级,确保群集在纵向扩展时使用最新的 Azure Linux 容器主机映像。 还可以手动升级群集上的节点映像。
在本教程的第五部分(共五部分)中,你将了解如何执行以下操作:
- 手动升级群集上的节点映像。
- 自动升级 Azure Linux 容器主机群集。
- 在 Azure Linux 容器主机群集中部署 Kured。
注意
如尚未升级到最新版本,任何升级操作(无论是手动执行还是自动执行)都会升级节点映像版本。 最新版本取决于完整的 AKS 版本,可通过访问 AKS 发布跟踪器来确定。
先决条件
- 在前面的教程中,你创建并部署了 Azure Linux 容器主机群集。 若要完成本教程,需要一个现有群集。 如果尚未完成这一步并想要继续操作,请从教程 1:使用适用于 AKS 的 Azure Linux 容器主机创建群集开始。
- 需要最新版本的 Azure CLI。 使用
az --version
命令查找版本。 如果需要进行安装或升级,请参阅安装 Azure CLI。
手动升级群集
若要手动升级群集上的节点映像,可以运行“az aks nodepool update”。
自动升级群集
自动升级提供了一种一劳永逸的机制,可带来明显的时间和运营成本效益。 通过启用自动升级,可以确保群集是最新版本,并且不会错过来自 AKS 和上游 Kubernetes 的最新 Azure Linux 容器主机功能或补丁。
自动完成的升级在功能上与手动升级相同。 所选通道将决定升级的时间。 更改自动升级后,更改需要 24 小时才能生效。
若要在现有群集上设置自动升级通道,请更新 --auto-upgrade-channel 参数:
az aks update --resource-group $AZ_LINUX_RG --name $AZ_LINUX_CLUSTER --auto-upgrade-channel stable
{
"id": "/subscriptions/xxxxx/resourceGroups/testAzureLinuxResourceGroup",
"___location": "WestUS2",
"name": "testAzureLinuxCluster",
"properties": {
"autoUpgradeChannel": "stable",
"provisioningState": "Succeeded"
}
}
有关升级通道的详细信息,请参阅使用群集自动升级。
启用自动包升级
与将群集设置为自动升级类似,可以通过启用 node-os 升级通道,对包升级使用相同的“设置一次即忘记”机制。 如果启用了自动包升级,dnf 自动系统服务将每天运行并安装已发布的任何更新包。
若要在现有群集上设置 node-os 升级通道,请更新 --node-os-upgrade-channel 参数:
az aks update --resource-group $AZ_LINUX_RG --name $AZ_LINUX_CLUSTER --node-os-upgrade-channel Unmanaged
{
"id": "/subscriptions/xxxxx/resourceGroups/testAzureLinuxResourceGroup",
"___location": "WestUS2",
"name": "testAzureLinuxCluster",
"properties": {
"nodeOsUpgradeChannel": "Unmanaged",
"provisioningState": "Succeeded"
}
}
启用自动重新启动守护程序
为保护群集,安全更新会自动应用于 Azure Linux 节点。 这些更新包括 OS 安全修补程序、内核更新和包升级。 其中的部分更新需要重启节点才能完成更新进程。 AKS 不会自动重新启动这些来完成更新进程。
建议启用 Kured 等自动重新启动守护程序,以便群集可以重新启动已执行内核更新的节点。 若要在 Azure Linux 容器主机群集中部署 Kured DaemonSet,请参阅在 AKS 群集中部署 Kured。
清理资源
由于本教程是本教程系列的最后一部分,因此建议删除 Azure Linux 容器主机群集。 Kubernetes 节点在 Azure 虚拟机上运行,即使你不使用群集,它们也会继续产生费用。
后续步骤
在本教程中,你升级了 Azure Linux 容器主机群集。 你已了解如何执行以下操作:
- 手动升级群集上的节点映像。
- 自动升级 Azure Linux 容器主机群集。
- 在 Azure Linux 容器主机群集中部署 Kured。
有关 Azure Linux 容器主机的详细信息,请参阅 Azure Linux 容器主机概述。