Memecahkan masalah versi kernel yang sudah usang di gambar node Azure Linux Container Host
Selama migrasi atau saat menambahkan kumpulan simpul baru ke Host Kontainer Azure Linux, Anda mungkin mengalami masalah dengan versi kernel yang sudah kedaluarsa. Azure Kubernetes Service (AKS) merilis citra simpul Linux Azure baru setiap minggu, yang digunakan untuk kumpulan simpul baru dan sebagai gambar awal untuk meningkatkan skala. Namun, kumpulan simpul yang lebih lama mungkin tidak memperbarui versi kernelnya seperti yang diharapkan.
Untuk memeriksa VERSI KERNEL dari kumpulan simpul Anda, jalankan:
kubectl get nodes -o wide
Kemudian, bandingkan versi kernel kumpulan simpul Anda dengan kernel terbaru yang diterbitkan di packages.microsoft.com.
Gejala
Gejala umum dari masalah ini meliputi:
- Node Azure Linux tidak menggunakan versi kernel terbaru.
Penyebab
Ada dua penyebab utama untuk masalah ini:
- Peningkatan gambar simpul otomatis tidak diaktifkan saat kumpulan simpul dibuat.
- Gambar dasar yang digunakan AKS untuk memulai kluster berjalan dua minggu di belakang versi kernel terbaru karena prosedur peluncurannya.
Solusi
Anda dapat mengaktifkan peningkatan otomatis menggunakan GitHub Actions dan me-reboot simpul untuk mengatasi masalah ini.
Mengaktifkan peningkatan gambar simpul otomatis dengan menggunakan Azure CLI
Untuk mengaktifkan peningkatan node-image otomatis saat menyebarkan kluster dari az-cli, tambahkan parameter --auto-upgrade-channel node-image
.
az aks create --name testAzureLinuxCluster --resource-group testAzureLinuxResourceGroup --os-sku AzureLinux --auto-upgrade-channel node-image
Mengaktifkan peningkatan gambar simpul otomatis dengan menggunakan templat ARM
Untuk mengaktifkan peningkatan gambar simpul otomatis saat menggunakan templat ARM, Anda dapat mengatur properti autoUpgradeProfile
upgradeChannel ke node-image
.
autoUpgradeProfile: {
upgradeChannel: 'node-image'
}
Reboot simpul
Saat memperbarui versi kernel, Anda perlu me-reboot simpul untuk menggunakan versi kernel baru. Kami sarankan Anda menyiapkan daemonset kured. Kured untuk memantau simpul Anda untuk /var/run/reboot-required
file, menguras beban kerja, dan me-reboot simpul.
Solusi sementara: Peningkatan manual
Jika Anda memerlukan solusi cepat, Anda dapat meningkatkan node-image secara manual pada kluster menggunakan peningkatan az aks nodepool. Ini dapat dilakukan dengan menjalankan
az aks nodepool upgrade \
--resource-group testAzureLinuxResourceGroup \
--cluster-name testAzureLinuxCluster \
--name myAzureLinuxNodepool \
--node-image-only
Langkah berikutnya
Jika langkah-langkah sebelumnya tidak mengatasi masalah, buka tiket dukungan.