Memperbarui Kubernetes dan gambar simpul di beberapa kluster anggota
Admin platform yang mengelola sejumlah besar kluster sering memiliki masalah dengan penahapan pembaruan beberapa kluster (misalnya, meningkatkan gambar OS node atau versi Kubernetes) dengan cara yang aman dan dapat diprediksi. Untuk mengatasi tantangan ini, Azure Kubernetes Fleet Manager (Fleet) memungkinkan Anda mengatur pembaruan di beberapa kluster menggunakan eksekusi pembaruan.
Eksekusi pembaruan terdiri dari tahapan, grup, dan strategi dan dapat diterapkan baik secara manual, untuk pembaruan satu kali, atau secara otomatis, untuk pembaruan rutin yang sedang berlangsung menggunakan profil peningkatan otomatis. Semua pembaruan berjalan (manual atau otomatis) menghormati jendela pemeliharaan kluster anggota.
Memahami eksekusi pembaruan
Gambar berikut memvisualisasikan eksekusi peningkatan yang berisi dua tahap pembaruan, masing-masing berisi dua grup pembaruan dengan dua kluster anggota. Periode tunggu dikonfigurasi antara tahap pertama dan kedua.
- Eksekusi pembaruan: Eksekusi pembaruan mewakili pembaruan yang diterapkan ke kumpulan kluster AKS, yang terdiri dari tujuan dan urutan pembaruan. Tujuan pembaruan menjelaskan pembaruan yang diinginkan (misalnya, meningkatkan ke Kubernetes versi 1.28.3). Urutan pembaruan menjelaskan urutan yang tepat untuk menerapkan pembaruan ke beberapa kluster anggota, yang dinyatakan menggunakan tahapan dan grup. Jika tidak ditentukan, semua kluster anggota diperbarui satu per satu secara berurutan. Eksekusi pembaruan dapat dihentikan dan dimulai.
- Tahap pembaruan: Eksekusi pembaruan dibagi menjadi beberapa tahap, yang diterapkan secara berurutan. Misalnya, tahap pembaruan pertama mungkin memperbarui kluster anggota lingkungan pengujian, dan tahap pembaruan kedua kemudian akan memperbarui kluster anggota lingkungan produksi. Waktu tunggu dapat ditentukan untuk menunda antara aplikasi tahap pembaruan berikutnya.
- Grup pembaruan: Setiap tahap pembaruan berisi satu atau beberapa grup pembaruan, yang digunakan untuk memilih kluster anggota yang akan diperbarui. Grup pembaruan juga digunakan untuk memesan aplikasi pembaruan untuk kluster anggota. Dalam tahap pembaruan, pembaruan diterapkan ke semua grup pembaruan yang berbeda secara paralel; dalam grup pembaruan, kluster anggota diperbarui secara berurutan. Setiap kluster anggota armada hanya dapat menjadi bagian dari satu grup pembaruan.
- Strategi pembaruan: Strategi pembaruan menjelaskan urutan pembaruan dengan tahapan dan grup dan memungkinkan Anda menggunakan kembali konfigurasi eksekusi pembaruan alih-alih mendefinisikan urutan berulang kali di setiap eksekusi. Strategi pembaruan tidak mencakup versi gambar Kubernetes atau node yang diinginkan.
Saat ini, operasi pembaruan yang didukung pada kluster anggota adalah peningkatan. Ada tiga jenis peningkatan yang dapat Anda pilih:
- Tingkatkan versi Kubernetes untuk sarana kontrol Kubernetes dan simpul (yang mencakup peningkatan gambar simpul).
- Tingkatkan versi Kubernetes hanya untuk sarana kontrol kluster.
- Tingkatkan hanya gambar simpul.
Anda dapat menentukan versi Kubernetes target untuk ditingkatkan, tetapi Anda tidak dapat menentukan versi gambar simpul target yang tepat. Ini karena versi gambar simpul terbaru yang tersedia dapat bervariasi tergantung pada wilayah Azure kluster (periksa pelacak rilis AKS untuk informasi lebih lanjut).
Versi gambar simpul target secara otomatis dipilih untuk Anda berdasarkan preferensi Anda:
Latest
: Gunakan gambar simpul terbaru yang tersedia di wilayah Azure kluster saat peningkatan kluster dimulai. Akibatnya, versi gambar yang berbeda dapat digunakan tergantung pada wilayah Azure mana kluster berada dan kapan peningkatannya benar-benar dimulai.Consistent
: Saat eksekusi pembaruan dimulai, ia memilih versi gambar umum terbaru di seluruh wilayah Azure kluster anggota dalam eksekusi ini, sehingga versi gambar yang sama dan konsisten digunakan di seluruh kluster.
Anda harus memilih Latest
untuk menggunakan versi gambar yang lebih segar dan meminimalkan risiko keamanan, dan memilih Consistent
untuk meningkatkan keandalan dengan menggunakan dan memverifikasi gambar tersebut dalam kluster pada tahap sebelumnya sebelum menggunakannya di kluster selanjutnya.
Pemeliharaan terencana
Pembaruan menjalankan jendela pemeliharaan terencana yang Anda tetapkan di tingkat kluster Azure Kubernetes Service (AKS).
Dalam eksekusi pembaruan (untuk eksekusi pembaruan jenis Satu per satu atau Tahap ), eksekusi pembaruan memprioritaskan peningkatan kluster dalam urutan berikut:
- Anggota dengan jendela pemeliharaan terbuka yang sedang berlangsung.
- Anggota dengan pembukaan jendela pemeliharaan dalam empat jam ke depan.
- Anggota tanpa jendela pemeliharaan.
- Anggota dengan jendela pemeliharaan tertutup.
Memperbarui status eksekusi
Eksekusi pembaruan dapat berada di salah satu status berikut:
- NotStarted: Eksekusi pembaruan belum dimulai.
- Berjalan: Peningkatan sedang berlangsung untuk setidaknya salah satu kluster anggota dalam eksekusi pembaruan.
- Tertunda:
- Kluster anggota: Kluster anggota dapat berada dalam status tertunda karena salah satu alasan berikut yang dapat dilihat di bidang pesan.
- Jendela pemeliharaan tidak terbuka. Pesan menunjukkan waktu pembukaan berikutnya.
- Versi Kubernetes target belum tersedia di wilayah Azure anggota. Tautan pesan ke pelacak rilis sehingga Anda dapat memeriksa status rilis di seluruh wilayah.
- Versi gambar simpul target belum tersedia di wilayah Azure anggota. Tautan pesan ke pelacak rilis sehingga Anda dapat memeriksa status rilis di seluruh wilayah.
- Grup: Grup dalam
Pending
status jika semua anggota dalam grup dalamPending
status atau belum dimulai. Saat anggota pindah kePending
, eksekusi pembaruan akan mencoba memutakhirkan anggota berikutnya dalam grup. Jika semua anggota adalahPending
, grup akan berpindah kePending
status. Jika grup dalamPending
status, eksekusi pembaruan menunggu grup selesai sebelum melanjutkan ke tahap berikutnya untuk eksekusi. - Tahap: Tahap dalam
Pending
status jika semua grup di bawah tahap tersebut dalamPending
status atau belum dimulai. - Jalankan: Eksekusi dalam
Pending
status jika tahap saat ini yang harus berjalan dalamPending
status.
- Kluster anggota: Kluster anggota dapat berada dalam status tertunda karena salah satu alasan berikut yang dapat dilihat di bidang pesan.
- Dilewati: Semua tingkat eksekusi pembaruan dapat dilewati. Melompati dapat berupa sistem atau dimulai pengguna.
- Anggota:
- Anda melewati peningkatan untuk anggota, grup, atau tahap.
- Kluster anggota sudah berada di versi Kubernetes target (jika mode eksekusi pembaruan adalah
Full
atauControlPlaneOnly
). - Kluster anggota sudah berada di versi Kubernetes target dan semua kumpulan simpul berada di versi gambar simpul target.
- Ketika gambar simpul yang konsisten dipilih untuk eksekusi peningkatan, jika tidak dimungkinkan untuk menemukan versi gambar target untuk salah satu kumpulan simpul, maka peningkatan dilewati untuk kluster tersebut. Sebagai contoh, ini dapat terjadi ketika kumpulan simpul baru dengan SKU Komputer Virtual (VM) baru ditambahkan setelah eksekusi pembaruan dimulai.
- Grup:
- Semua kluster anggota terdeteksi sebagai
Skipped
oleh sistem. - Anda memulai lompatan di tingkat grup.
- Semua kluster anggota terdeteksi sebagai
- Tahap:
- Semua grup dalam tahap terdeteksi sebagai
Skipped
oleh sistem. - Anda memulai lompatan pada tingkat panggung.
- Semua grup dalam tahap terdeteksi sebagai
- Jalankan:
- Semua tahapan terdeteksi sebagai
Skipped
oleh sistem.
- Semua tahapan terdeteksi sebagai
- Anggota:
- Dihentikan: Semua tingkat eksekusi pembaruan dapat dihentikan. Ada dua kemungkinan untuk memasuki status berhenti:
- Anda menghentikan eksekusi pembaruan, di mana eksekusi pembaruan titik berhenti melacak semua operasi. Jika operasi sudah dimulai oleh eksekusi pembaruan (misalnya, peningkatan kluster sedang berlangsung), operasi tersebut tidak dibatalkan untuk kluster individual tersebut.
- Jika kegagalan ditemui selama eksekusi pembaruan (misalnya peningkatan gagal pada salah satu kluster), seluruh eksekusi pembaruan masuk ke status berhenti. Operasi tidak dicoba untuk kluster berikutnya dalam eksekusi pembaruan.
- Gagal: Kegagalan untuk meningkatkan kluster menghasilkan tindakan berikut:
- Menandai sebagai
Failed
padaMemberUpdateStatus
kluster anggota. - Menandai semua orang tua (grup -> tahap -> jalankan) sebagai
Failed
dengan pesan kesalahan ringkasan. - Menghentikan eksekusi pembaruan dari kemajuan lebih lanjut.
- Menandai sebagai
Catatan
Anda dapat menjalankan kembali eksekusi pembaruan kapan saja untuk menerapkan kembali peningkatan yang mungkin telah dilompati atau gagal.
Memahami profil peningkatan otomatis (pratinjau)
Profil peningkatan otomatis digunakan untuk secara otomatis memicu eksekusi pembaruan ketika Versi gambar Kubernetes atau node baru tersedia untuk AKS.
Penting
Fitur pratinjau Azure Kubernetes Fleet Manager tersedia berdasarkan layanan mandiri. Pratinjau disediakan "apa adanya" dan "sebagaimana tersedia," dan mereka dikecualikan dari perjanjian tingkat layanan dan garansi terbatas. Pratinjau Azure Kubernetes Fleet Manager sebagian dicakup oleh dukungan pelanggan berdasarkan upaya terbaik. Dengan demikian, fitur-fitur ini tidak dimaksudkan untuk penggunaan produksi.
Di profil peningkatan otomatis, Anda dapat mengonfigurasi:
- (
Channel
Stabil, Cepat, NodeImage) yang menentukan jenis peningkatan otomatis yang diterapkan ke kluster. - yang
UpdateStrategy
mengonfigurasi urutan di mana kluster ditingkatkan. Jika strategi tidak disediakan, kluster diperbarui satu per satu secara berurutan. NodeImageSelectionType
(Terbaru, Konsisten) untuk menentukan bagaimana gambar simpul dipilih saat memutakhirkan versi Kubernetes.
Saluran stabil
Saluran Stabil selalu merupakan rilis patch Kubernetes terbaru yang didukung AKS pada versi minor N-1, di mana N adalah versi minor terbaru yang didukung.
Contoh:
- Versi Kubernetes minor terbaru yang didukung adalah 1.30. Setiap rilis patch dalam rentang minor 1.29 akan dipertimbangkan untuk pembaruan saluran stabil.
- Kubernetes minor baru versi 1.31 diterbitkan. Setiap rilis patch dalam rentang minor 1.30 akan dipertimbangkan untuk pembaruan saluran stabil. Setiap kluster yang sebelumnya menerima pembaruan dari 1.29 akan diperbarui ke patch terbaru untuk 1.30.
Saluran cepat
Saluran Rapid selalu merupakan rilis minor Kube yang didukung AKS terbaru.
Contoh:
- Versi minor terbaru yang didukung adalah 1.30. Setiap rilis patch dalam rentang minor 1.30 akan dipertimbangkan untuk pembaruan saluran Cepat.
- Kubernetes minor baru versi 1.31 diterbitkan. 1.30 bergeser ke saluran Stabil. Setiap kluster yang sebelumnya menerima pembaruan dari 1.30 akan diperbarui ke patch terbaru untuk 1.31 yang sekarang menjadi saluran Cepat.
Saluran NodeImage
Node kluster anggota diperbarui dengan VHD yang baru di-patch yang berisi perbaikan keamanan dan perbaikan bug pada irama mingguan. Pembaruan ke VHD baru mengganggu, mengikuti jendela pemeliharaan dan pengaturan lonjakan. Tidak ada biaya VHD tambahan yang dikeluarkan saat memilih opsi ini.
Jika Anda menggunakan saluran ini, peningkatan tanpa pengawas Linux dinonaktifkan secara default. Peningkatan gambar node mendukung versi patch yang tidak digunakan lagi, selama versi Kubernetes minor masih didukung. Gambar node diuji AKS, dikelola sepenuhnya, dan diterapkan dengan praktik penyebaran yang aman.
Node pada sistem operasi yang berbeda akan diperbarui sesuai dengan versi gambar simpul yang selaras dengan sistem operasi tersebut.
Contoh:
- Kluster memiliki simpul dengan NodeImage AKSWindows-2022-containerd versi 20348.2582.240716. NodeImage baru versi 20348.2582.240916 dirilis dan node kluster secara otomatis ditingkatkan ke versi 20348.2582.240916.
Perilaku melompati versi minor
Peningkatan otomatis tidak memindahkan kluster antara versi Kubernetes minor ketika ada lebih dari satu perbedaan versi Kubernetes minor (misalnya: 1.28 hingga 1.30). Di mana administrator memiliki serangkaian versi Kuberenetes yang beragam, disarankan untuk terlebih dahulu menggunakan satu atau beberapa eksekusi pembaruan untuk membawa kluster anggota ke dalam serangkaian rilis versi yang konsisten sehingga pembaruan yang dikonfigurasi Stable
atau Rapid
saluran memastikan konsistensi dipertahankan di masa mendatang.
Catatan
Ingatlah informasi berikut saat menggunakan peningkatan otomatis:
Peningkatan otomatis memerlukan ekstensi Fleet Azure CLI versi 1.3.0 atau yang lebih baru.
Peningkatan otomatis hanya memperbarui ke versi GA Kubernetes dan tidak diperbarui ke versi pratinjau.
Peningkatan otomatis mengharuskan versi Kubernetes kluster berada dalam jendela dukungan AKS.
Jika kluster tidak memiliki jendela pemeliharaan terencana yang ditentukan, itu akan segera ditingkatkan ketika eksekusi pembaruan mencapai kluster.
Jika ingin versi Kubernetes ditingkatkan, Anda perlu membuat
autoupgradeprofile
denganRapid
atauStable
saluran.Jika Anda ingin versi NodeImage Anda ditingkatkan, Anda perlu membuat
autoupgradeprofile
denganNodeImage
saluran.Anda dapat membuat beberapa profil peningkatan otomatis untuk Armada yang sama.
Langkah berikutnya
Azure Kubernetes Service