你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
重要
从 2025 年 11 月 30 日开始,AKS 将不再支持或提供 Azure Linux 2.0 安全更新。 从 2026 年 3 月 31 日起,将删除节点映像,并且无法缩放节点池。 通过将 节点池 升级到受支持的 Kubernetes 版本或迁移到 osSku AzureLinux3,以迁移到受支持的 Azure Linux 版本。 有关更多信息,请参阅[停用] AKS 上的 Azure Linux 2.0 节点池。
在迁移期间或将新节点池添加到 Azure Linux 容器主机时,可能会遇到过时内核版本的问题。 Azure Kubernetes 服务 (AKS) 每周发布一个新的 Azure Linux 节点映像,该映像用于新节点池,以及用于纵向扩展的起始映像。 但是,较旧的节点池可能无法按预期更新其内核版本。
若要检查节点池的 KERNEL-VERSION,请运行:
kubectl get nodes -o wide
然后,将节点池的内核版本与 packages.microsoft.com 上发布的最新内核进行比较。
症状
此问题的常见症状包括:
- Azure Linux 节点未使用最新的内核版本。
原因
导致出现此问题的主要原因有两个:
- 创建节点池时未启用自动节点映像升级。
- 根据发布流程,AKS 用于启动群集的基本映像会在最新内核版本之后大约两周运行。
解决方案
可以使用 GitHub Actions 启用自动升级,并重新启动节点以解决此问题。
使用 Azure CLI 启用自动节点映像升级
若要在从 az-cli 部署群集时启用自动节点映像升级,请添加参数 --auto-upgrade-channel node-image。
az aks create --name testAzureLinuxCluster --resource-group testAzureLinuxResourceGroup --os-sku AzureLinux --auto-upgrade-channel node-image
使用 ARM 模板启用自动节点映像升级
若要在使用 ARM 模板时启用自动节点映像升级,可以将 中的 autoUpgradeProfile 属性设置为 node-image。
autoUpgradeProfile: {
upgradeChannel: 'node-image'
}
重新启动该节点
更新内核版本时,需要重新启动该节点才能使用新的内核版本。 建议设置 kured DaemonSet。
Kured,用于监视节点的 /var/run/reboot-required 文件、清空工作负荷和重启相应节点。
解决方法:执行手动升级
如果需要快速解决方法,可以使用 az aks nodepool upgrade 手动升级群集上的节点映像。 可通过运行以下命令实现
az aks nodepool upgrade \
--resource-group testAzureLinuxResourceGroup \
--cluster-name testAzureLinuxCluster \
--name myAzureLinuxNodepool \
--node-image-only
后续步骤
如果上述步骤无法解决问题,请开具支持工单。