本文内容
在迁移期间或将新节点池添加到AzureLinux容器主机时,可能会碰到内核版本过时的问题。AzureKubernetes服务(AKS)每周发布一个新的AzureLinux节点映像,该映像用于新节点池,并用作横向扩充的起始映像。并且,较旧的节点池可能不会按预期更新其内核版本。
若要检测节点池的KERNEL-VERSION,请运行:
kubectl get nodes -o wide
之后,将节点池的内核版本与上发布的最新内核进行比较。
病症
此问题的常见病症包括:
缘由
此问题有两个主要诱因:
创建节点池时未启用手动节点映像升级。因为推出过程,AKS用于启动群集的基础映像在最新内核版本后两周运行。解决方案
可以使用GitHubActions启用手动升级linux内核版本查询,并重新启动节点来解决此问题。
使用AzureCLI启用手动节点映像升级
若要在从az-cli布署群集时启用手动节点映像升级linux内核版本查询鸟哥的linux私房菜,请添加参数--auto-upgrade-channelnode-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守护程序。Kured用于监视节点中的/var/run/reboot-required文件、清空工作负载和重新启动节点。
解决方式:自动升级
假如须要快速解决方式,可以使用自动升级群集上的node-image。这可以通过运行
az aks nodepool upgrade
--resource-group testAzureLinuxResourceGroup
--cluster-name testAzureLinuxCluster
--name myAzureLinuxNodepool
--node-image-only
后续步骤
假如上述步骤未能解决问题红旗linux系统下载,请出具支持票证。
文章评论