Mengembalikan kumpulan simpul ke versi sebelumnya di Azure Kubernetes Service (AKS)

Fitur pemulihan versi kolam node di Azure Kubernetes Service (AKS) memungkinkan Anda untuk memulihkan dari perilaku tak terduga setelah peningkatan Kubernetes. Jika terjadi masalah, Anda dapat mengembalikan pool node ke kombinasi versi Kubernetes dan gambar node sebelumnya, memastikan kelangsungan bisnis dan meminimalkan waktu henti. Artikel ini menjelaskan kapan dan bagaimana menggunakan fitur putar kembali, kemampuan dan batasannya, dan praktik terbaik untuk tindakan pasca-pemutaran kembali.

Prasyarat

  • Azure CLI versi 2.88.0 atau yang lebih baru. Temukan versi Anda dengan menggunakan perintah az --version. Jika Anda perlu menginstal atau meningkatkan, lihat Install Azure CLI. aks-preview Ekstensi tidak diperlukan.
  • Versi API 2026-04-01 atau yang lebih baru.

Fitur yang didukung untuk pemutaran kembali versi kumpulan simpul

Fitur pemulihan versi kumpulan simpul mendukung kemampuan berikut:

Fitur Deskripsi
Mengembalikan ke versi sebelumnya Memulihkan versi gambar Kubernetes dan node ke status sebelumnya.
Pemicu manual, eksekusi otomatis Putar kembali memerlukan inisiasi manual, tetapi setelah dipicu, sistem secara otomatis menangani seluruh proses putar kembali tanpa intervensi lebih lanjut.
Kompatibilitas kumpulan simpul Bekerja pada semua jenis kumpulan simpul termasuk kumpulan komputer virtual (VM) dan kumpulan simpul berbasis Virtual Machine Scale Sets (VMSS).
Dukungan sistem operasi Kompatibel dengan semua unit penyimpanan stok (SKU) sistem operasi (OS) termasuk Ubuntu, Azure Linux, dan kumpulan Windows.
Proses yang disederhanakan Tidak diperlukan manajemen rekam jepret.

Batasan dan pertimbangan penarikan kembali kumpulan simpul

Ingatlah batasan berikut saat menggunakan fitur pemulihan kumpulan node:

  • Terbatas pada perubahan versi saja. Perubahan kelompok node lainnya tidak dipulihkan kembali.
  • Tidak ada operasi bersamaan yang diizinkan selama pemutaran kembali.
  • Anda harus menonaktifkan saluran peningkatan otomatis Kubernetes sebelum rollback. Jika saluran peningkatan OS simpul diaktifkan, rollback versi Kubernetes dapat dilanjutkan, tetapi gambar simpul sebelumnya mungkin tidak dipulihkan. Nonaktifkan saluran peningkatan OS simpul saat Anda perlu melakukan rollback pada versi Kubernetes dan image node.
  • Hanya tersedia selama tujuh hari setelah penyelesaian peningkatan.
  • Tidak dapat melakukan pengembalian versi berturut-turut untuk kembali ke beberapa versi sebelumnya.
  • Rollback tidak mendukung mengembalikan perubahan SKU OS. Jika Anda mengubah SKU OS dari kumpulan simpul Anda (misalnya, dari Ubuntu ke Azure Linux), pengembalian mencoba memulihkan versi gambar simpul sebelumnya, tetapi gambar tersebut termasuk dalam SKU OS yang berbeda dan karenanya ditolak. Untuk mengembalikan perubahan OS SKU, gunakan perintah sebagai gantinya az aks nodepool update --os-sku .

Ingatlah pertimbangan berikut saat menggunakan rollback node pool:

Implikasi keamanan Pertimbangan operasional
* Paparan kerentanan: Rolling back menghapus patch keamanan dan pembaruan dari versi yang lebih baru. Oleh karena itu, sebaiknya gunakan rollback hanya untuk sementara sambil menyelesaikan masalah, lalu memperbarui kembali secepat mungkin. * Gangguan layanan: Proses pembatalan dapat menyebabkan gangguan beban kerja sementara.
* Ketersediaan sumber daya: Pastikan kapasitas cukup untuk operasi pengembalian.
* Persyaratan pengujian: Rencanakan untuk memperbaiki masalah yang mendasar sebelum mencoba peningkatan lagi.

Mengapa menggunakan putar kembali

Putar kembali menyediakan mekanisme pemulihan penting untuk lingkungan produksi:

  • Kelangsungan bisnis: Meminimalkan waktu henti saat peningkatan menyebabkan masalah tak terduga
  • Mitigasi risiko: Memulihkan dengan cepat konfigurasi yang sudah diketahui tanpa adanya prosedur pemulihan yang kompleks.
  • Pemulihan yang disederhanakan: Hindari intervensi manual atau membangun kembali kluster dari cadangan

Kapan menggunakan pembatalan kumpulan simpul

Pertimbangkan putar kembali sebagai opsi pemulihan Anda dalam skenario berikut:

  • Kegagalan peningkatan terjadi: Masalah infrastruktur, batasan sumber daya, atau masalah kompatibilitas mencegah peningkatan yang berhasil.
  • Aplikasi mengalami kerusakan: Beban kerja mengalami kegagalan kritis atau kerusakan data dengan versi Kubernetes yang lebih baru.
  • Penurunan performa: Versi baru menyebabkan latensi, masalah throughput, atau konsumsi sumber daya yang tidak dapat diterima.
  • Kesenjangan pengujian muncul: Masalah muncul dalam produksi yang tidak terdeteksi selama pengujian pra-produksi.

Alur kerja pemulihan kolam simpul

Diagram berikut mengilustrasikan alur kerja pembatalan kumpulan simpul:

Diagram memperlihatkan alur kerja putar kembali kumpulan simpul.

Proses putar kembali memulihkan semua simpul dalam kumpulan simpul ke status versi sebelumnya. Aspek utama alur kerja meliputi:

  • Pendekatan serba atau tidak sama sekali: Semua node harus berhasil kembali ke versi sebelumnya agar pemulihan berhasil diselesaikan. Jika ada node yang gagal digulung balik, seluruh operasi gagal untuk mengkomunikasikan status kluster dengan jelas, mirip dengan operasi peningkatan.
  • Pelacakan Progres: Pantau status rollback menggunakan Log Aktivitas Azure untuk riwayat operasi dan API Status Operasi untuk pembaruan waktu nyata.

Memulihkan versi kumpulan simpul

Penting

Ingatlah informasi berikut saat mengembalikan versi kumpulan simpul:

  • Tetap menggunakan versi lama dalam jangka panjang dapat meningkatkan risiko keamanan dan akhirnya dapat mencegah peningkatan karena perbedaan versi. Perlakukan putar kembali sebagai mekanisme pemulihan sementara, bukan solusi permanen.
  • Rollback menggantikan node dalam kumpulan node dan dapat mengganggu beban kerja untuk sementara. Sebelum memulai, verifikasi bahwa beban kerja Anda memiliki kapasitas yang memadai dan Pod Disruption Budgets memungkinkan gangguan simpul yang diperlukan.
  • Saat menggunakan REST API, Anda dapat memanggil Agent Pools - Get Upgrade Profile API terlebih dahulu untuk mengambil versi yang baru digunakan. Gunakan informasi ini untuk menentukan versi target dalam permintaan putar kembali Anda.

Perintah rollback Azure CLI secara otomatis memilih versi yang terakhir direkam, juga dikenal sebagai N-1. Anda tidak dapat menggunakan perintah untuk memilih versi Kubernetes atau image node apa pun, dan Anda tidak dapat melakukan rollback berturut-turut untuk berpindah melalui beberapa versi sebelumnya.

  1. Tinjau konfigurasi peningkatan otomatis kluster.

    az aks show \
        --name myAKSCluster \
        --resource-group myResourceGroup \
        --query autoUpgradeProfile
    

    Nonaktifkan saluran peningkatan otomatis Kubernetes sebelum rollback. Jika Anda perlu memulihkan image node sebelumnya, nonaktifkan juga channel upgrade OS node.

  2. Tinjau target rollback yang tersedia dengan menggunakan perintah az aks nodepool get-rollback-versions.

    az aks nodepool get-rollback-versions \
        --name myNodePool \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster
    

    Jika perintah tidak mengembalikan versi, kumpulan simpul tidak memiliki target rollback yang memenuhi syarat. Pool node harus sudah ditingkatkan dalam tujuh hari sebelumnya, dan versi Kubernetes yang direkam masih harus didukung oleh AKS.

  3. Kembalikan node pool dengan menggunakan perintah az aks nodepool rollback.

    az aks nodepool rollback \
        --name myNodePool \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster
    
  4. Verifikasi versi Kubernetes, versi image node, dan status provisi setelah rollback selesai.

    az aks nodepool show \
        --name myNodePool \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --query '{provisioningState:provisioningState,kubernetesVersion:currentOrchestratorVersion,nodeImageVersion:nodeImageVersion}'
    

    Rollback yang berhasil mengembalikan Succeeded untuk provisioningState dan menampilkan versi image Kubernetes dan node yang direkam.

Jika Anda mengubah pengaturan peningkatan otomatis kluster sebelum rollback, pulihkan pengaturan yang dimaksudkan setelah Anda menyelidiki dan mengatasi masalah peningkatan.

Memantau status pemutaran kembali kumpulan simpul

Anda dapat menggunakan metode berikut untuk memantau status operasi pemulihan kumpulan simpul dan memvalidasi pemulihan yang berhasil:

Memecahkan masalah rollback node pool

Tabel berikut ini menjelaskan masalah rollback umum dan cara mengatasinya:

Issue Penyebab dan resolusi
Tidak ada versi rollback yang dikembalikan. Pool node mungkin tidak memiliki upgrade yang tercatat, periode rollback tujuh hari mungkin telah kedaluwarsa, atau versi Kubernetes sebelumnya mungkin tidak lagi didukung. Periksa riwayat peningkatan kumpulan simpul dan kebijakan dukungan versi AKS Kubernetes.
AKS melaporkan bahwa operasi lain sedang berlangsung. Tunggu hingga operasi kluster atau kumpulan simpul saat ini selesai sebelum Anda mencoba kembali rollback. Jika Anda perlu menghentikan operasi, gunakan perintah az aks nodepool operation-abort.
Versi Kubernetes dikembalikan ke versi sebelumnya, tetapi gambar node tidak. Saluran peningkatan OS node mungkin diaktifkan. Nonaktifkan channel saat Anda perlu memulihkan image node sebelumnya.
AKS menolak versi image simpul sebelumnya. SKU OS kumpulan simpul mungkin telah berubah sejak versi yang direkam. Rollback tidak mendukung mengembalikan perubahan SKU OS. Gunakan az aks nodepool update --os-sku untuk mengembalikan SKU OS ke keadaan semula sebagai gantinya.
AKS menolak versi Kubernetes sebelumnya. Versi yang direkam mungkin tidak lagi didukung. Periksa kebijakan dukungan versi AKS Kubernetes.

Praktik terbaik pasca-putar kembali

Setelah berhasil menggulung balik kumpulan simpul Anda, gunakan praktik terbaik berikut untuk memastikan stabilitas dan keamanan:

  • Selidiki akar penyebab: Identifikasi mengapa peningkatan gagal sebelum mencoba peningkatan lain. Tinjau log aplikasi, metrik sumber daya, dan persyaratan kompatibilitas.
  • Uji dalam non-produksi: Validasi versi yang lebih baru di lingkungan pengembangan atau penahapan untuk mereproduksi dan menyelesaikan masalah sebelum meningkatkan produksi lagi.
  • Rencanakan peningkatan ulang Anda: Jangan tetap menggunakan versi rolled-back tanpa batas waktu. Jadwalkan peningkatan ulang untuk mempertahankan patch dan dukungan keamanan:
    • Untuk masalah keamanan penting: Tingkatkan ulang dalam beberapa hari setelah perbaikan divalidasi.
    • Untuk masalah kompatibilitas aplikasi: Perbarui ulang dalam beberapa minggu setelah kode disesuaikan.
    • Jangka waktu maksimum yang disarankan: 30 hari untuk menghindari akumulasi kerentanan keamanan.

Pertanyaan Umum

Bisakah saya melakukan operasi lain selama pemulihan kumpulan simpul?

Tidak, pemutaran kembali harus selesai sebelum memulai operasi lain. Untuk melakukan berbagai operasi, hentikan pemulihan terlebih dahulu.

Apakah pembatalan kumpulan node mengembalikan versi Kubernetes dan citra node?

Ya, pengembalian akan kembali ke versi Kubernetes yang paling baru digunakan dan gambar node yang bersesuaian. Jika kedua komponen berubah, sistem memulihkan versi Kubernetes sebelumnya dengan gambar simpul terakhir yang kompatibel untuk versi tersebut.

Dapatkah saya mengembalikan hanya gambar simpul tanpa mengubah versi kumpulan simpul?

Ya, jika Anda hanya melakukan pembaruan gambar node dalam tujuh hari terakhir (tanpa meningkatkan versi kumpulan node), rollback akan memulihkan gambar VHD sebelumnya sambil mempertahankan versi Kubernetes yang sama.

Dapatkah saya kembali ke versi yang tidak didukung?

Tidak, Anda tidak dapat kembali ke versi Kubernetes yang tidak lagi didukung oleh AKS. Misalnya, jika kumpulan simpul Anda berada di versi 1.27.9 (sekarang tidak didukung) dan Anda meningkatkan ke 1.28.5, Anda tidak dapat kembali ke 1.27.9 karena tidak lagi dalam daftar versi yang didukung. Selalu periksa kebijakan dukungan versi AKS Kubernetes untuk memverifikasi ketersediaan versi.

Untuk alasan yang sama, Anda tidak dapat mengembalikan upgrade yang dimulai platform. Ketika AKS meningkatkan kluster keluar dari versi yang tidak didukung, versi sebelumnya tidak lagi tersedia.

Apakah saya perlu menonaktifkan autoupgrade sebelum melakukan rollback pool node?

Ya, Anda harus menonaktifkan saluran upgrade otomatis Kubernetes sebelum melakukan rollback. Jika Anda hanya mengaktifkan saluran peningkatan OS simpul, pengembalian versi Kubernetes dapat dilanjutkan, tetapi gambar simpul sebelumnya mungkin tidak dipulihkan. Nonaktifkan saluran peningkatan OS simpul saat Anda perlu mengembalikan versi Kubernetes dan gambar simpul.

Jika kluster disertakan dalam grup pembaruan dalam profil autoupgrade Azure Kubernetes Fleet Manager, Anda juga harus menghapus kluster dari grup pembaruan sebelum melakukan rollback. Kalau tidak, proses autoupgrade mungkin secara otomatis meng-upgrade node pool Anda lagi setelah rollback selesai.

Dapatkah saya mengembalikan setelah mengubah SKU OS (misalnya, dari Ubuntu ke Azure Linux)?

Tidak. Pembatalan kumpulan simpul terbatas pada perubahan versi dan tidak mengembalikan perubahan SKU OS. Setelah bermigrasi dari satu SKU OS ke SKU lainnya (misalnya, Ubuntu ke Azure Linux), versi gambar simpul sebelumnya milik SKU OS lama dan tidak kompatibel dengan konfigurasi saat ini. Operasi rollback menolak versi image sebelumnya dengan kesalahan yang mirip dengan:

NodeImageVersion 'AKSUbuntu-2204gen2containerd-202602.13.5' is not accepted. NodeImageVersion can only be current version 'AKSAzureLinux-V3gen2-202602.13.5' or 'latest'

Untuk mengembalikan SKU OS, gunakan perintah az aks nodepool update dengan parameter --os-sku. Untuk informasi selengkapnya, lihat Mengembalikan versi OS Anda.

Untuk mempelajari selengkapnya tentang peningkatan kumpulan simpul di AKS, lihat artikel berikut ini: