Bagikan melalui


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:

  1. Peningkatan gambar simpul otomatis tidak diaktifkan saat kumpulan simpul dibuat.
  2. 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.