對 Azure Linux 容器主機上的套件升級問題進行疑難排解
適用於 AKS 的 Azure Linux 容器主機依預設會啟用 dnf-automatic
,這是一項每天執行的系統服務,會自動安裝任何最近發佈的更新套件。 這可確保在修正程式發佈時,Azure Linux 容器主機中的套件會自動更新。 請注意,對於節點 OS 升級通道的某些設定,依預設會停用 dnf-automatic
。
徵兆
不過,Azure Linux 容器主機中的套件有時無法接收自動升級,這可能會導致下列徵兆:
- 參考或使用更新的套件時出現錯誤訊息。
- 套件無法如預期運作。
- 檢查 Azure Linux 容器主機套件清單時,會顯示過期的套件版本。 您可以瀏覽 packages.microsoft.com 上的存放庫,或檢查 Azure Linux GitHub 存放庫中的版本資訊,確認映像上的套件是否與最近發佈的套件同步。
原因
某些套件 (例如 Linux 核心) 必須重新開機,更新才會生效。 為了加速自動重新開機,Azure Linux VM 會執行檢查重新啟動服務,在套件更新需要重新開機時建立 /var/run/reboot-required
檔案。
解決方案
為確保 Kubernetes 會處理重新開機的要求,建議您設定 Kured Daemonset。 Kured 會監視節點中的 /var/run/reboot-required
檔案,並在找到該檔案時清空節點中的工作,然後將其重新開機。
下一步
如果上述步驟無法解決問題,請開啟 支援票證。