這很重要
從 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 Service (AKS) 每週都會發行新的 Azure Linux 節點映像,用於新的節點集區,以及作為擴大的起始映像。 不過,較舊的節點集區可能不會如預期更新其核心版本。
若要檢查節點集區的核心版本,請執行:
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
下一步
若上述步驟未解決問題,請開啟支援票證。