Anda dapat mengelola urutan upgrade cluster otomatis di seluruh cluster Google Kubernetes Engine (GKE) di beberapa lingkungan menggunakan urutan peluncuran. Misalnya, Anda dapat menentukan versi baru untuk cluster praproduksi sebelum mengupgrade cluster produksi. GKE juga menyediakan versi awal fitur ini, yaitu peluncuran berbasis grup pengurutan, yang memiliki fungsi yang lebih terbatas dan tidak direkomendasikan untuk lingkungan baru.
Dokumen ini mengasumsikan bahwa Anda mengetahui hal-hal berikut:
- Upgrade cluster
- Ringkasan pengelolaan fleet
- Saluran rilis
- Skema pembuatan versi di GKE
- Pengujian ketahanan
Ringkasan
Urutan peluncuran GKE memungkinkan Anda menentukan urutan tertentu yang teratur untuk upgrade cluster di seluruh lingkungan—seperti mengupgrade cluster di lingkungan pengembangan terlebih dahulu, lalu lingkungan pengujian, dan terakhir produksi. Strategi progresif ini menyediakan waktu pematangan bawaan, sehingga Anda dapat menemukan dan memitigasi potensi masalah sebelum upgrade mencapai sistem yang paling penting.
Pengurutan peluncuran dibangun berdasarkan konsep armada, yang merupakan pengelompokan logis cluster GKE yang dipetakan ke lingkungan (misalnya, pengujian). Untuk menggunakan fitur ini, Anda menentukan urutan yang terdiri dari fleet dan menetapkan waktu berdiam di antara setiap grup. Saat GKE memilih versi baru, cluster Anda akan diupgrade dalam urutan yang ditentukan, sehingga Anda dapat memvalidasi beban kerja sebelum versi di-deploy sepenuhnya ke lingkungan produksi Anda.
Fleet mendukung keanggotaan ringan, yang memungkinkan Anda mengelompokkan cluster secara logis untuk urutan peluncuran tanpa mengaktifkan semua konfigurasi dan fitur tingkat fleet. Keanggotaan ringan adalah pilihan yang baik jika Anda ingin menggunakan pengurutan peluncuran tanpa beberapa implikasi lain dari pengelolaan fleet penuh, seperti kesamaan namespace tingkat fleet. Untuk mengetahui informasi selengkapnya, lihat Langganan ringan.
Memilih strategi pengurutan peluncuran
GKE menawarkan dua versi urutan peluncuran. Kedua versi dibangun berdasarkan prinsip inti yang sama, yaitu upgrade progresif berbasis fleet, tetapi kami merekomendasikan penggunaan urutan peluncuran dengan tahap kustom untuk lingkungan baru:
- Urutan peluncuran dengan tahap kustom (direkomendasikan untuk lingkungan baru): versi ini adalah evolusi dari model berbasis fleet, yang menawarkan kontrol dan fleksibilitas yang lebih terperinci, tetapi tidak memiliki dukungan konsol Cloud de Confiance . Dengan tahap kustom, Anda dapat menentukan tahap tertentu dalam armada menggunakan label, sehingga menjadikannya pilihan yang tepat untuk strategi peluncuran yang lebih kompleks seperti men-deploy versi baru pada subset kecil cluster produksi sebelum peluncuran yang lebih luas. Selain itu, Anda memiliki kontrol lebih besar atas peluncuran, seperti memulai peluncuran ke versi tertentu, memilih jenis upgrade yang akan diluncurkan dalam urutan, serta menjeda atau membatalkan peluncuran. Pilih opsi ini jika Anda membuat urutan peluncuran untuk pertama kalinya.
- Pengurutan peluncuran berbasis armada: adalah satu-satunya versi fitur ini yang dapat digunakan dengan konsol Cloud de Confiance , tetapi memiliki fungsi yang lebih terbatas dan tidak direkomendasikan jika Anda membuat urutan peluncuran untuk pertama kalinya.
Bagian selanjutnya dari dokumen ini hanya berkaitan dengan pengurutan peluncuran dengan tahap kustom.
Urutan peluncuran dengan tahap kustom
Saat menggunakan pengurutan peluncuran dengan tahap kustom, Anda menentukan urutan upgrade armada dan menetapkan waktu perendaman. Selain itu, Anda juga dapat melakukan hal berikut:
- Tentukan urutan dengan tahapan terperinci yang dapat menargetkan subkumpulan cluster tertentu dalam armada menggunakan label, sehingga menjadikannya pilihan yang baik untuk strategi seperti peluncuran bertahap.
- Dapatkan kontrol dan kemampuan pengamatan yang lebih besar melalui objek API
RolloutSequencedanRolloutyang baru.
Metode ini memberikan fleksibilitas dan kontrol terperinci terbesar atas upgrade cluster Anda. Untuk menargetkan subset cluster tertentu dalam armada, Anda menggunakan
label-selector untuk menargetkan hanya cluster yang memiliki label Kubernetes
tertentu.
Diagram berikut mengilustrasikan cara GKE mengupgrade cluster secara otomatis dalam urutan peluncuran yang menggunakan tahap kustom. Target tahap
cluster dengan label-selector bernama canary di fleet prod:
Saat meluncurkan versi baru, GKE akan mengupgrade cluster di fleet Pengujian terlebih dahulu, diikuti dengan cluster di fleet Staging.
Kemudian, di fleet Produksi, GKE memprioritaskan cluster yang cocok dengan label-selector. Karena prod-cluster-1 diberi label dengan canary:
true, GKE akan mengupgrade cluster ini berikutnya. GKE
mengupgrade semua cluster yang tersisa di fleet Produksi (di tahap Utama) di
akhir proses karena tahap ini tidak memiliki pemilih label.
Selama waktu perendaman yang dikonfigurasi di antara tahap, Anda dapat memastikan bahwa beban kerja Anda berjalan seperti yang diharapkan pada cluster yang diupgrade. Contoh di atas menunjukkan satu tahap kustom di fleet Produksi, tetapi Anda dapat menambahkan beberapa tahap ke fleet mana pun atau hanya menggunakan satu fleet dengan beberapa tahap.
Konsep utama
- Waktu penyerapan: periode tunggu yang dapat dikonfigurasi yang terjadi setelah semua cluster dalam tahap diupgrade. Waktu perendaman ini memungkinkan Anda memvalidasi versi baru di satu lingkungan dan menemukan potensi masalah sebelum upgrade dilanjutkan ke lingkungan berikutnya. Anda dapat mengonfigurasi waktu perendaman hingga 30 hari untuk setiap tahap dalam urutan. Waktu perendaman yang lebih lama di tahap praproduksi memberi Anda lebih banyak waktu untuk validasi.
RolloutSequence: objek ini adalah resource utama yang Anda gunakan untuk menentukan urutan upgrade.RolloutSequenceberisi serangkaian tahap yang berurutan, yang memverifikasi bahwa cluster pada tahap sebelumnya telah diupgrade sepenuhnya dan telah menyelesaikan periode perendaman sebelum upgrade dilanjutkan ke tahap berikutnya. SetiapRolloutSequencememiliki satuRolloutuntuk setiap versi baru yang diluncurkan.Rollout: objek ini memungkinkan Anda mengamati progres upgrade satu versi melalui urutan Anda. Anda dapat menggunakanRolloutuntuk melihat status peluncuran, melacak progres, dan melihat apakah ada cluster yang tidak memenuhi syarat untuk diupgrade dan alasannya. SetiapRolloutdikaitkan denganRolloutSequencetertentu yang merepresentasikan urutan peluncuran versi.- Project host khusus: sebaiknya gunakan projectCloud de Confiance by S3NS khusus untuk menghosting objek
RolloutSequenceAnda. Menempatkan urutan dalam project khusus memberikan titik kontrol pusat yang netral untuk urutan peluncuran Anda, yang merupakan praktik terbaik serupa untuk mengelola pipeline CI/CD.
Buat dan kelola resource RolloutSequence Anda di project host
khusus.
- Tahap: tahap adalah langkah dalam urutan peluncuran. Setiap tahap berisi sekelompok cluster yang diupgrade bersama.
- Fleet: fleet adalah cara utama untuk mengelompokkan cluster. Tahap dalam urutan peluncuran hanya dapat mereferensikan satu fleet.
- Pemilih label: urutan peluncuran terdiri dari satu atau beberapa tahap. Setiap tahap berisi cluster dari satu fleet, dan Anda dapat menggunakan pemilih label pada cluster untuk membagi fleet lebih lanjut ke dalam beberapa tahap. Pendekatan ini memungkinkan strategi seperti peluncuran bertahap, di mana subset kecil cluster produksi diupgrade terlebih dahulu.
Cara GKE mengupgrade cluster dalam urutan peluncuran
Saat GKE mengupgrade cluster, control plane diupgrade terlebih dahulu, lalu node diupgrade. Dalam urutan peluncuran, cluster masih diupgrade menggunakan proses ini, tetapi Anda juga dapat mengontrol urutan grup (fleet) cluster diupgrade. Anda juga menentukan waktu berdiam yang menentukan berapa lama GKE dijeda sebelum upgrade dilanjutkan dari satu grup ke grup berikutnya.
Upgrade cluster dalam urutan peluncuran dilanjutkan dengan langkah-langkah berikut:
- GKE memulai peluncuran baru dalam urutan peluncuran. Peluncuran, secara default, dimulai saat GKE menetapkan target upgrade otomatis baru untuk cluster pada versi minor di saluran rilis tertentu. Untuk pengurutan peluncuran dengan tahap kustom, Anda juga dapat memicu peluncuran baru di seluruh urutan peluncuran ke versi tertentu yang Anda pilih.
GKE mulai mengupgrade control plane cluster ke versi baru di grup cluster pertama. Setelah GKE mengupgrade control plane cluster, GKE akan mulai mengupgrade node cluster. GKE mematuhi ketersediaan pemeliharaan saat mengupgrade cluster dalam urutan peluncuran.
GKE melakukan langkah-langkah berikut untuk upgrade bidang kontrol:
- Setelah semua upgrade control plane cluster dalam grup pertama selesai, GKE akan memulai periode perendaman untuk upgrade control plane. GKE juga memulai periode perendaman jika lebih dari 30 hari telah berlalu sejak upgrade control plane dimulai.
Setelah periode perendaman untuk upgrade control plane cluster grup pertama selesai, GKE akan mulai mengupgrade control plane grup kedua ke versi baru. Namun, perhatikan pertimbangan berikut:
- Dalam beberapa kasus, GKE mungkin mengupgrade control plane cluster grup pertama beberapa kali sebelum mengupgrade control plane cluster grup kedua. Jika situasi ini terjadi, GKE akan memilih versi terbaru yang juga memiliki atribut berikut:
- Versi memenuhi syarat oleh grup pertama.
- Versi ini paling banyak satu versi minor lebih baru daripada versi bidang kontrol cluster grup kedua.
- GKE tidak mengupgrade bidang kontrol cluster dalam grup kedua yang memiliki versi lebih baru daripada versi yang memenuhi syarat oleh grup pertama.
- Dalam beberapa kasus, GKE mungkin mengupgrade control plane cluster grup pertama beberapa kali sebelum mengupgrade control plane cluster grup kedua. Jika situasi ini terjadi, GKE akan memilih versi terbaru yang juga memiliki atribut berikut:
Selain mengontrol upgrade control plane, GKE melakukan langkah-langkah berikut untuk upgrade node:
- Setelah semua upgrade node cluster dalam grup pertama selesai, GKE akan memulai periode perendaman untuk upgrade node. GKE juga memulai periode perendaman jika lebih dari 30 hari telah berlalu sejak upgrade node dimulai.
- Setelah periode perendaman untuk upgrade node grup pertama selesai, GKE akan mulai mengupgrade node grup kedua ke versi baru. Namun, perhatikan pertimbangan berikut:
- Dalam beberapa kasus, GKE mungkin mengupgrade node cluster grup pertama beberapa kali sebelum mengupgrade node cluster grup kedua. Jika
situasi ini terjadi, GKE akan memilih versi terbaru yang
juga memiliki atribut berikut:
- Versi memenuhi syarat oleh grup pertama.
- Versinya tidak lebih baru dari versi bidang kontrol cluster grup kedua.
- GKE tidak mengupgrade node cluster dalam grup kedua yang memiliki versi lebih baru daripada versi yang memenuhi syarat oleh grup pertama.
- Dalam beberapa kasus, GKE mungkin mengupgrade node cluster grup pertama beberapa kali sebelum mengupgrade node cluster grup kedua. Jika
situasi ini terjadi, GKE akan memilih versi terbaru yang
juga memiliki atribut berikut:
GKE mengulangi langkah-langkah ini dari grup kedua ke grup ketiga, hingga cluster di semua grup dalam urutan peluncuran telah diupgrade ke versi baru.
Saat cluster diupgrade di setiap grup, selama waktu rendam, pastikan beban kerja Anda dengan cluster yang menjalankan versi GKE baru berfungsi seperti yang diharapkan.
Upgrade cluster juga mungkin tidak dapat dilakukan karena masa pemeliharaan atau pengecualian, penggunaan API yang tidak digunakan lagi, atau alasan lainnya.
Cara mengontrol upgrade dalam urutan peluncuran
Dengan upgrade cluster dalam urutan peluncuran, grup cluster diupgrade sesuai urutan yang Anda tentukan, dan tercakup dalam setiap grup selama waktu yang Anda pilih. Untuk mengetahui informasi selengkapnya tentang cara mengontrol proses ini, lihat artikel berikut:
- Untuk mempelajari cara mengelola peluncuran versi tertentu, lihat Mengelola peluncuran.
- Untuk mempelajari cara mengelola urutan peluncuran untuk semua peluncuran, lihat Mengelola urutan peluncuran.
Contoh: Bank komunitas secara bertahap meluncurkan perubahan dari Pengujian hingga Produksi
Administrator platform di bank komunitas mengelola tiga lingkungan deployment utama: Pengujian, Tahapan, dan Produksi. Cluster Produksi didistribusikan di beberapa region, dengan berbagai tingkat kritikalitas. Untuk mengelola upgrade secara efektif, administrator mengelompokkan cluster di setiap lingkungan ke dalam fleet. Sebagaimana diperlukan untuk pengurutan peluncuran, setiap cluster di ketiga fleet terdaftar di saluran rilis yang sama—dalam hal ini, saluran Reguler—dan semua cluster menjalankan versi minor yang sama.
Tujuan utama administrator adalah memastikan bahwa versi GKE baru diperiksa secara menyeluruh sebelum mencapai lingkungan produksi penting bank. Mereka juga ingin mengupgrade cluster secara bertahap di region dengan traffic yang lebih rendah terlebih dahulu, lalu berpindah ke region dengan traffic yang lebih tinggi, dan terakhir ke region yang paling penting. Untuk mencapainya, mereka menggunakan urutan peluncuran dengan tahap kustom untuk menentukan strategi upgrade progresif yang mencakup pemberian label pada cluster produksi sesuai dengan wilayahnya. Dengan pendekatan ini, mereka dapat memvalidasi versi baru pada sebagian kecil traffic produksi sebelum peluncuran penuh.
Untuk menerapkan rencana ini, administrator menerapkan label berikut ke cluster di fleet Produksi:
- Cluster di
us-west1(traffic lebih rendah) diberi labelprod-region: us-west1. - Kelompok dalam
europe-west1(traffic lebih tinggi) diberi labelprod-region: europe-west1. - Cluster di
us-east1(traffic paling penting) tidak diberi label. Tahap akhir untuk fleet dalam urutan harus bertindak sebagai 'catch-all' untuk semua cluster yang tersisa. Oleh karena itu, administrator tidak perlu menambahkan label ke cluster yang tersisa ini.
Selanjutnya, di project host khusus yang digunakan untuk mengelola konfigurasi CI/CD, mereka
menentukan objek RolloutSequence. Urutan baru ini memiliki lima tahap yang berbeda:
- Pengujian: tahap ini mencakup semua cluster dalam fleet
testing. Administrator menetapkan waktu rendam selama tiga hari untuk memungkinkan validasi menyeluruh. - Penyiapan: tahap ini mencakup semua
cluster di fleet
staging, dengan waktu perendaman selama tiga hari. - Produksi di region
us-west1: tahap ini menargetkan fleet produksi, tetapi menggunakanlabel-selectoruntuk menyertakan hanya cluster dengan labelprod-region: us-west1. Tahap ini memungkinkan administrator memantau masalah apa pun pada subset kecil cluster produksi dengan waktu perendaman tiga hari. - Produksi di region
europe-west1: tahap ini mencakup cluster di fleetproductionyang memiliki labelprod-region: europe-west1. Administrator menetapkan waktu rendam empat hari yang lebih lama untuk validasi yang lebih menyeluruh. - Produksi di region
us-east1: tahap akhir ini mencakup cluster yang tersisa di fleetproduction; yaitu, semua cluster dius-east1.
Pendekatan ini memberi administrator kontrol terperinci atas upgrade produksi mereka, sehingga meningkatkan keamanan dan keandalan proses upgrade secara signifikan dengan mendeteksi potensi masalah sebelum dapat memengaruhi seluruh lingkungan produksi.
Selama upgrade patch rutin, pengujian otomatis bank berhasil diselesaikan di lingkungan staging jauh lebih cepat dari yang diperkirakan. Administrator mengamati bahwa versi baru stabil dan memutuskan bahwa waktu rendam tiga hari setelah upgrade fleet Staging tidak diperlukan untuk jenis update rutin ini.
Untuk mempercepat peluncuran ini, administrator mengubah RolloutSequence
definisi dan mengurangi durasi perendaman untuk tahap us-west1
Armada produksi. Karena perubahan pada definisi RolloutSequence ini memperbarui waktu tunggu default untuk semua peluncuran saat ini dan mendatang, administrator membuat catatan untuk mengembalikan waktu tunggu ke periode tiga hari semula setelah peluncuran patch khusus ini selesai. Pendekatan ini
membantu memastikan waktu perendaman standar yang lebih hati-hati diterapkan untuk upgrade versi minor
pada masa mendatang.
Administrator menggunakan masa pemeliharaan dan pengecualian sehingga GKE mengupgrade cluster saat tidak mengganggu bank. GKE mempertimbangkan ketersediaan pemeliharaan untuk cluster yang diupgrade dalam urutan peluncuran:
- Administrator mengonfigurasi masa pemeliharaan untuk cluster mereka sehingga GKE hanya mengupgrade cluster setelah jam kerja.
- Administrator juga menggunakan pengecualian pemeliharaan agar cluster tidak diupgrade untuk sementara jika menemukan masalah dengan beban kerja cluster.
Selain itu, administrator dapat mengelola peluncuran melalui tindakan seperti menjeda peluncuran jika mendeteksi masalah, atau menyelesaikan tahap jika yakin dengan perubahan dalam tahap tersebut dan siap untuk melanjutkan dengan segera.
Administrator menggunakan kombinasi upgrade surge dan blue-green untuk node, yang menyeimbangkan antara kecepatan dan toleransi risiko, bergantung pada beban kerja yang berjalan pada node tersebut.
Cara GKE memulai peluncuran versi baru
Secara default, GKE membuat peluncuran baru saat menetapkan target upgrade otomatis baru. Versi yang dipilih GKE untuk di-roll out bergantung pada versi minor dan saluran rilis cluster dalam urutan. Misalnya, jika cluster Anda menjalankan GKE versi 1.35 di saluran Reguler dan GKE menetapkan target upgrade otomatis ke 1.35.5-gke.1000000, GKE akan membuat Rollout baru.
Namun, Anda juga dapat memilih versi yang ingin Anda luncurkan di GKE.
Meluncurkan versi tertentu
Anda juga dapat memulai peluncuran ke versi tertentu, misalnya, jika Anda ingin
membuat patch dengan cepat untuk kerentanan keamanan, atau memperbaiki masalah penting pada
cluster GKE Anda. Tindakan ini membuat objek Rollout, yang memulai peluncuran di seluruh urutan peluncuran Anda dengan cara yang sama seperti saat GKE menetapkan target upgrade otomatis. Untuk meluncurkan versi baru,
lihat Meluncurkan versi
tertentu.
Jika perlu meluncurkan versi baru ke cluster secepat mungkin, Anda dapat melakukan upgrade cluster manual untuk setiap cluster. Upgrade cluster manual dilakukan di tingkat cluster.
Memilih jenis upgrade yang dilakukan GKE dalam urutan peluncuran
Secara default, GKE meluncurkan semua jenis upgrade cluster ke urutan peluncuran, termasuk upgrade versi patch dan versi minor ke bidang kontrol dan node.
Ada empat jenis upgrade utama:
- Upgrade versi patch bidang kontrol
- Upgrade versi patch node
- Upgrade versi minor bidang kontrol
- Upgrade versi minor node
Anda dapat membatasi cakupan upgrade cluster dalam urutan peluncuran hanya untuk melakukan jenis upgrade tertentu. Misalnya, jika Anda ingin GKE meluncurkan hanya upgrade bidang kontrol, dan bukan upgrade node, Anda dapat menentukannya untuk urutan peluncuran.
Jika Anda membatasi cakupan upgrade cluster untuk urutan peluncuran, GKE tidak akan melakukan upgrade otomatis jenis tersebut untuk cluster apa pun dalam urutan peluncuran, kecuali untuk upgrade otomatis wajib seperti yang diperlukan. Untuk mengetahui informasi selengkapnya, lihat Peluncuran untuk upgrade otomatis wajib. Membatasi cakupan upgrade cluster tidak membatalkan peluncuran berkelanjutan dari jenis yang Anda batasi, tetapi hanya mencegah GKE membuat peluncuran berkelanjutan jenis tersebut di masa mendatang.
Karena GKE tidak akan mengupgrade node cluster ke versi yang lebih baru dari bidang kontrol, membatasi cakupan upgrade bidang kontrol juga dapat membatasi upgrade node.
Untuk membatasi cakupan upgrade otomatis dalam urutan peluncuran, lihat Memilih jenis upgrade yang dilakukan GKE dalam urutan peluncuran.
Membatasi cakupan urutan peluncuran berfungsi mirip dengan pengecualian pemeliharaan, tetapi pengecualian pemeliharaan ditetapkan untuk cluster atau node pool individual dalam cluster.
Peluncuran upgrade otomatis wajib
Terlepas dari apakah cluster Anda terdaftar dalam urutan peluncuran, GKE melakukan upgrade cluster otomatis untuk keamanan dan kompatibilitas. Jika bidang kontrol cluster dalam urutan peluncuran Anda belum diupgrade dalam 90 hari, atau jika cluster menjalankan versi minor yang telah mencapai akhir dukungan, GKE akan membuat peluncuran wajib untuk melakukan upgrade otomatis. Peluncuran ini membantu memastikan bahwa cluster Anda tetap berperforma, tersedia, dan aman. GKE membuat peluncuran untuk skenario ini, terlepas dari pembatasan pada cakupan peluncuran, pengecualian pemeliharaan, atau alasan penundaan lainnya.
Anda tidak dapat menjeda atau membatalkan jenis peluncuran ini. GKE melakukan jenis upgrade cluster ini terlepas dari pendaftaran urutan peluncuran.
Untuk mengetahui informasi selengkapnya tentang kebijakan ini, lihat bagian berikut:
Kelayakan peluncuran
Agar versi dapat di-roll out melalui urutan yang menggunakan tahap kustom, cluster harus memenuhi syarat untuk target upgrade dari saluran rilisnya. Saat
versi GKE baru tersedia, sistem akan membuat objek
Rollout jika cluster dalam urutan memenuhi syarat untuk versi baru.
Meskipun sebaiknya semua cluster didaftarkan di saluran rilis yang sama, jika tidak, GKE akan memilih versi dari saluran yang paling konservatif dalam urutan tersebut. Misalnya, jika cluster dicampur antara saluran Stabil dan Reguler, GKE akan memilih versi dari saluran Stabil.
Rollout kemudian berlanjut melalui tahapan yang ditentukan dalam
RolloutSequence. Dalam tahap tertentu, peluncuran bidang kontrol dan peluncuran node pool dapat berjalan secara paralel. Aturan utama yang mengatur progres ini adalah bahwa saat
tahap berada dalam status SOAKING dengan versi tertentu, tahap tersebut tidak
memenuhi syarat untuk memulai Rollout baru untuk versi yang lebih baru. Praktik ini membantu memastikan bahwa suatu versi divalidasi sepenuhnya sebelum upgrade berikutnya dimulai. Anda dapat
mengamati progres dan kelayakan setiap cluster dengan memantau objek Rollout. Jika menemukan perbedaan versi yang membuat cluster tidak memenuhi syarat, Anda
mungkin perlu mengambil tindakan, seperti mengupgrade cluster secara manual atau mengabaikan
cluster dalam urutan peluncuran, agar
peluncuran dapat dilanjutkan. Jika cluster tidak memenuhi syarat untuk peluncuran apa pun, GKE tidak akan mengupgrade cluster secara otomatis hingga perlu membuat peluncuran untuk upgrade otomatis wajib, seperti yang dijelaskan di bagian sebelumnya.
Cluster yang menjalankan versi yang lebih baru dari target upgrade tidak mencegah upgrade
Jika tahap dalam urutan berisi cluster yang menjalankan versi yang lebih baru daripada versi target peluncuran, GKE akan mengupgrade cluster yang memenuhi syarat untuk versi target dan mengabaikan cluster yang sudah menggunakan versi yang lebih baru. Perilaku ini tidak mencegah urutan peluncuran berlanjut ke tahap berikutnya.
Misalnya, jika versi target peluncuran untuk tahap adalah 1.32, dan tahap tersebut memiliki cluster yang menjalankan 1.31 dan 1.33, GKE akan mengupgrade cluster pada versi 1.31 ke 1.32, dan mengabaikan cluster yang sudah menggunakan versi 1.33.
Tahap sebelumnya memenuhi syarat beberapa target upgrade untuk tahap berikutnya
Tahap sebelumnya dalam urutan dapat menyelesaikan peluncuran untuk beberapa versi baru, sementara tahap berikutnya dijeda (misalnya, oleh pengecualian pemeliharaan) atau masih memproses upgrade sebelumnya. Dalam hal ini, saat tahap berikutnya siap menerima upgrade baru, GKE akan mengupgrade tahap tersebut ke versi terbaru yang memenuhi syarat. Untuk upgrade bidang kontrol, versi ini paling banyak satu versi minor lebih baru daripada versi bidang kontrol cluster pada tahap berikutnya. Untuk upgrade node, versi ini dapat sama dengan, tetapi tidak lebih baru dari, versi bidang kontrol cluster pada tahap berikutnya.
Misalnya, skenario ini relevan jika Anda mengonfigurasi pengecualian pemeliharaan untuk mencegah upgrade sementara pada cluster produksi. Jika cluster praproduksi Anda tidak memiliki pengecualian pemeliharaan yang sama, cluster ini mungkin diupgrade beberapa kali, sehingga memenuhi syarat beberapa versi baru, tetapi tahap produksi Anda tidak diupgrade.
Perendaman paksa setelah 30 hari
Untuk membantu memastikan urutan peluncuran selesai mengupgrade cluster, GKE memulai periode perendaman untuk grup jika upgrade control plane atau node, masing-masing, tidak selesai di semua cluster dalam waktu upgrade maksimum (30 hari). Upgrade untuk cluster yang tersisa dalam grup masih dapat dilanjutkan selama periode perendaman.
Cara kerja pengurutan peluncuran dengan fitur upgrade lainnya
Pengurutan peluncuran bekerja bersama dengan fitur upgrade GKE lainnya:
Masa dan pengecualian pemeliharaan: Anda tetap dapat menggunakan masa dan pengecualian pemeliharaan untuk mengontrol kapan upgrade dapat dan tidak dapat dilakukan di cluster Anda. GKE memulai upgrade cluster hanya dalam masa pemeliharaan cluster. Anda dapat menggunakan pengecualian pemeliharaan agar cluster tidak diupgrade untuk sementara. Kedua metode berikut dapat membatasi GKE untuk melakukan jenis upgrade tertentu:
- Tingkat cluster atau node pool: pengecualian pemeliharaan
- Tingkat urutan peluncuran: memilih jenis upgrade yang dilakukan GKE dalam urutan peluncuran
Namun, kedua metode yang membatasi cakupan upgrade cluster ini tidak mencegah upgrade otomatis wajib. Jika GKE tidak dapat mengupgrade cluster karena masa pemeliharaan atau pengecualian, hal ini dapat menghambat penyelesaian upgrade cluster dalam sebuah tahap. Jika upgrade cluster tidak dapat diselesaikan dalam waktu 30 hari karena masa pemeliharaan atau pengecualian, tahap akan memasuki fase rendam terlepas dari apakah semua cluster telah selesai diupgrade.
Strategi upgrade node: pengurutan peluncuran tidak memengaruhi strategi upgrade node yang dikonfigurasi (misalnya, upgrade blue-green). Mirip dengan upgrade cluster yang tidak memiliki urutan peluncuran, GKE menggunakan upgrade lonjakan untuk node Autopilot. Untuk mengetahui informasi selengkapnya, lihat Upgrade node otomatis.
Jika upgrade node tidak dapat diselesaikan dalam waktu 30 hari, grup akan memasuki fase rendamnya terlepas dari apakah semua cluster telah selesai diupgrade. Perilaku ini dapat terjadi jika strategi upgrade node menyebabkan upgrade node cluster Standar memerlukan waktu lebih lama untuk diselesaikan, terutama jika berupa kumpulan node yang besar. Situasi ini juga dapat diperburuk oleh masa pemeliharaan yang tidak cukup besar untuk menyelesaikan upgrade node.
Saluran rilis: sebaiknya daftarkan semua cluster dalam urutan peluncuran di saluran rilis yang sama.
Deteksi penggunaan penghentian penggunaan: Deteksi penggunaan penghentian penggunaan GKE masih berfungsi seperti yang diharapkan, yang berpotensi menjeda upgrade pada cluster yang menggunakan API yang tidak digunakan lagi.
Upgrade manual: mengupgrade cluster secara manual pada tahap pertama urutan tidak dengan sendirinya memenuhi syarat versi tersebut atau memicu peluncuran untuk melanjutkan. Proses peluncuran otomatis didorong oleh target upgrade otomatis resmi yang ditetapkan untuk saluran rilis. Upgrade manual akan mengupdate cluster, tetapi urutan mulai dilanjutkan untuk versi tersebut hanya setelah versi tersebut menjadi target upgrade otomatis yang ditetapkan.
Notifikasi cluster: GKE memberikan notifikasi untuk urutan peluncuran, selain notifikasi cluster lain yang tersedia. Untuk mengetahui informasi selengkapnya, lihat Notifikasi untuk pengurutan peluncuran.
Menerima beberapa upgrade dalam satu urutan
Saluran rilis memilih target upgrade untuk cluster. Jika versi baru tersedia saat upgrade ke target sebelumnya masih berlangsung, tahap pertama dapat memulai peluncuran versi baru meskipun tahap selanjutnya masih menerima upgrade sebelumnya. Misalnya, jika grup ketiga dalam suatu urutan meluncurkan versi 1.31.12-gke.1265000, grup pertama dalam urutan dapat secara serentak meluncurkan versi 1.31.13-gke.1008000.
Pertimbangan saat memilih urutan peluncuran
Pertimbangkan untuk menggunakan urutan peluncuran jika Anda ingin mengelola upgrade cluster dengan memenuhi syarat untuk versi baru di satu lingkungan sebelum meluncurkannya ke lingkungan lain.
Namun, strategi ini mungkin bukan pilihan yang tepat untuk lingkungan Anda jika salah satu pernyataan berikut benar:
- Anda memiliki cluster yang tidak berada di saluran rilis atau versi minor yang sama di lingkungan produksi yang sama.
- Anda sering melakukan upgrade manual yang menyebabkan cluster dalam satu grup memiliki versi target upgrade otomatis yang berbeda.
Notifikasi untuk urutan peluncuran
GKE mengirimkan notifikasi cluster, yang memberikan informasi penting tentang upgrade cluster di tingkat cluster. Selain itu, GKE memberikan notifikasi tentang urutan peluncuran dengan tahap kustom, dan peluncuran yang terjadi dengan urutan peluncuran tersebut. Misalnya, GKE mengirimkan notifikasi saat tahap peluncuran dimulai, selesai, atau diblokir. Atau, GKE mengirimkan notifikasi jika Anda salah mengonfigurasi urutan peluncuran. Untuk mengetahui informasi selengkapnya, lihat dokumen Notifikasi
cluster, dan bagian-bagiannya masing-masing untuk
RolloutEvent
dan
RolloutSequenceEvent.
Mengelola peluncuran
Saat GKE meluncurkan versi baru di seluruh cluster dalam urutan peluncuran, Anda dapat menggunakan tindakan berikut untuk mengontrol proses saat Anda menilai cara cluster dan beban kerja merespons perubahan. Selain itu, Anda dapat membuat peluncuran baru untuk meluncurkan versi tertentu.
Saat upgrade sedang berlangsung, Anda dapat memeriksa statusnya. Berdasarkan progres upgrade, Anda dapat menggunakan tindakan yang dijelaskan di subbagian berikut.
Menjeda peluncuran
Anda dapat menjeda peluncuran yang sedang berlangsung. Misalnya, jika Anda melihat potensi masalah pada cluster dan versi baru yang diluncurkan, Anda dapat menjeda peluncuran untuk sementara. GKE tidak akan memulai operasi upgrade baru ke versi ini, sehingga Anda dapat menyelidiki masalah apa pun sesuai kebutuhan. GKE tidak akan menghentikan operasi upgrade yang sedang berlangsung, tetapi tidak akan memulai operasi upgrade baru, termasuk untuk tahap berikutnya.
Untuk menjeda peluncuran, lihat Menjeda peluncuran.
Setelah menjeda peluncuran, Anda dapat melanjutkan atau membatalkan peluncuran. Peluncuran dapat dijeda hingga 90 hari. Setelah 90 hari, GKE akan membatalkan peluncuran.
Menjeda peluncuran tidak akan mencegah peluncuran berikutnya dimulai. Namun, peluncuran ini tidak akan menggantikan tahap peluncuran yang dijeda. Misalnya, jika GKE telah meluncurkan 1.34.8-gke.1000000 ke tahap pertama dan kedua, dan Anda menjeda peluncuran di tahap ketiga, GKE dapat memulai peluncuran baru ke 1.35.5-gke.1163000 dan mengupgrade cluster di dua tahap pertama. Namun, GKE tidak akan memulai upgrade ke 1.35.5-gke.1163000 pada tahap ketiga hingga peluncuran 1.34.8-gke.1000000 selesai pada tahap ketiga atau dibatalkan.
Jika ada beberapa peluncuran yang sedang berlangsung untuk urutan peluncuran, dan Anda ingin menjeda semuanya, Anda harus menjeda setiap peluncuran satu per satu. Jika ingin mencegah GKE memulai peluncuran tambahan, Anda dapat memilih jenis upgrade yang dilakukan GKE dalam urutan peluncuran.
Melanjutkan peluncuran
Anda dapat melanjutkan peluncuran yang dijeda yang telah dijeda selama kurang dari 90 hari, setelah Anda menyelidiki potensi masalah dan siap untuk melanjutkan upgrade. Anda hanya dapat melanjutkan peluncuran yang dijeda jika peluncuran lain dengan jenis yang sama (peluncuran bidang kontrol atau peluncuran node) tidak berjalan pada waktu yang sama di tahap yang sama. Anda juga dapat melanjutkan peluncuran yang otomatis dijeda oleh GKE karena alasan teknis atau bisnis, meskipun kami menyarankan kehati-hatian sebelum melakukannya.
Jika Anda melanjutkan peluncuran, GKE akan memulai operasi upgrade baru untuk melanjutkan peluncuran versi baru di seluruh tahap urutan peluncuran.
Untuk melanjutkan peluncuran, lihat Melanjutkan peluncuran.
Membatalkan peluncuran
Anda dapat membatalkan peluncuran, termasuk peluncuran yang aktif atau telah dijeda. Saat Anda membatalkan peluncuran, GKE tidak akan membuat peluncuran baru secara otomatis ke versi yang sama. Namun, membatalkan peluncuran tidak mencegah GKE meluncurkan versi yang lebih baru. Jika Anda ingin menghentikan GKE agar tidak meluncurkan versi yang lebih baru, batalkan semua peluncuran yang sedang berlangsung dan batasi cakupan upgrade cluster dalam urutan peluncuran.
Untuk membatalkan peluncuran, lihat Membatalkan peluncuran.
Jika Anda perlu meluncurkan versi yang sama yang dibatalkan, luncurkan versi tertentu.
Menyelesaikan tahap peluncuran
Jika yakin bahwa peluncuran versi dapat dilanjutkan ke tahap berikutnya dalam urutan peluncuran karena, misalnya, Anda telah menyelesaikan pengujian pada tahap tersebut, Anda dapat melanjutkan peluncuran secara manual dengan menyelesaikan tahap tersebut. Jika Anda menyelesaikan tahap ini, semua cluster yang belum diupgrade oleh GKE tidak akan diupgrade sebagai bagian dari peluncuran tersebut. Menyelesaikan tahap ini juga akan melewati waktu perendaman yang tersisa. Tindakan ini juga berarti Anda tidak perlu mengubah waktu perendaman di tingkat urutan peluncuran.
Untuk menyelesaikan tahap peluncuran, lihat Menyelesaikan tahap peluncuran.
Mengelola peluncuran dengan mengubah urutan peluncuran
Anda juga dapat mengelola peluncuran dengan melakukan tindakan yang memengaruhi seluruh urutan peluncuran. Namun, pertimbangkan untuk melakukan tindakan yang dijelaskan di bagian sebelumnya sebelum melakukannya, seperti menjeda peluncuran. Beberapa perubahan pada urutan peluncuran dapat menyebabkan peluncuran yang sedang berlangsung dibatalkan, selain memengaruhi cara kerja peluncuran mendatang dalam urutan tersebut. Jika Anda hanya ingin mengubah satu peluncuran, gunakan alat yang disediakan untuk mengelola satu peluncuran, bukan mengubah seluruh urutan.
Namun, jika Anda ingin mengubah cara kerja urutan peluncuran untuk semua peluncuran—bukan hanya peluncuran satu versi baru—lihat bagian berikut, Mengelola urutan peluncuran.
Mengontrol upgrade cluster individual untuk mengelola peluncuran
Untuk upgrade masing-masing cluster, Anda dapat menggunakan alat berikut untuk mengelola upgrade:
- Mengontrol upgrade secara manual dengan melakukan tindakan seperti membatalkan, melanjutkan, melakukan roll back, atau menyelesaikan upgrade node pool.
- Gunakan periode dan pengecualian pemeliharaan untuk menentukan kapan cluster dapat dan tidak dapat diupgrade.
- Konfigurasi strategi upgrade node untuk menyeimbangkan antara kecepatan dan toleransi risiko, bergantung pada beban kerja yang berjalan pada node tersebut.
Untuk mengetahui informasi selengkapnya, lihat Cara kerja pengurutan peluncuran dengan fitur upgrade lainnya.
Mengelola urutan peluncuran
Untuk mengelola urutan peluncuran, Anda dapat melakukan tindakan dasar seperti berikut:
- Mencantumkan urutan peluncuran Anda
- Mendeskripsikan urutan peluncuran
Selain itu, Anda dapat melakukan tindakan seperti mengubah urutan peluncuran, dan mengabaikan cluster dalam urutan peluncuran. Tindakan ini dijelaskan dalam subbagian berikut.
Untuk mempelajari lebih lanjut cara mengelola peluncuran satu versi, bukan seluruh urutan peluncuran, lihat bagian sebelumnya, Mengelola peluncuran.
Mengabaikan cluster dalam urutan peluncuran
Secara default, semua cluster yang merupakan bagian dari fleet dalam urutan peluncuran akan diupgrade sebagai bagian dari urutan peluncuran. Anda dapat menambahkan cluster ke tahap tertentu, atau semua cluster yang ada di fleet dan tidak diberi label akan diupgrade bersama-sama.
Namun, jika memiliki cluster yang tidak ingin disertakan dalam urutan peluncuran, Anda dapat memberi label agar GKE mengabaikan cluster saat meluncurkan versi baru. Anda mungkin perlu melakukannya, misalnya, jika Anda memerlukan waktu tambahan sebelum mengupgrade cluster tertentu tersebut. Anda dapat mengabaikan satu atau beberapa cluster dalam urutan peluncuran.
Jika Anda mengabaikan cluster dalam urutan peluncuran, GKE tidak akan mempertimbangkannya saat meluncurkan versi baru, dan tidak akan melakukan upgrade otomatis untuk cluster, kecuali untuk upgrade otomatis wajib termasuk upgrade otomatis di akhir dukungan dan upgrade otomatis untuk bidang kontrol yang belum diupgrade dalam 90 hari.
Untuk mengabaikan cluster dalam urutan peluncuran, lihat Mengabaikan cluster dalam urutan peluncuran.
Mengubah urutan peluncuran
Jika ingin mengubah cara peluncuran berlangsung dalam urutan peluncuran yang ada, Anda dapat mengubah urutan dengan salah satu dari dua cara berikut:
- Ubah urutan peluncuran dengan mengedit file konfigurasi YAML tempat Anda menentukan urutan.
- Ubah cluster dalam urutan.
Hal berikut akan terjadi jika Anda mengubah urutan peluncuran:
- Jika Anda menambahkan tahap, menghapus tahap, mengubah urutan tahap, atau mengedit tahap—misalnya, untuk mengubah ID project atau pemilih label tahap tersebut—dalam urutan peluncuran, GKE akan membatalkan semua peluncuran aktif.
- Jika Anda mengubah waktu perendaman tahap, GKE tidak akan membatalkan peluncuran aktif.
Untuk mengubah urutan peluncuran, lihat Mengubah urutan peluncuran.
Berikut yang terjadi jika Anda mengubah cluster dalam urutan:
- Jika Anda menghapus cluster dari urutan peluncuran dengan menghapusnya dari fleet, peluncuran yang aktif akan dilanjutkan. GKE dapat mengupgrade cluster secara otomatis berdasarkan prosedur umum untuk cluster yang tidak terdaftar dalam urutan.
- Jika Anda menambahkan cluster ke fleet dalam urutan peluncuran, GKE akan mengupgrade cluster ini sebagai bagian dari peluncuran aktif yang belum melewati tahap saat Anda menambahkannya. Namun, jika tahap telah selesai untuk peluncuran, GKE tidak akan mengupgrade cluster dalam peluncuran tersebut.
Jika Anda memindahkan cluster ke tahap lain tanpa mengedit konfigurasi urutan peluncuran, hal berikut akan terjadi, bergantung pada apakah tahap tempat Anda memindahkan cluster telah selesai:
- Jika Anda memindahkan cluster ke tahap yang telah menyelesaikan peluncurannya, GKE tidak akan mengupgrade cluster dalam peluncuran tersebut.
- Jika Anda memindahkan cluster yang sudah diupgrade dalam peluncuran ke tahap yang belum selesai, GKE akan mengabaikan cluster tersebut dan tidak akan mengganggu progres peluncuran.
Untuk mengubah cluster dalam urutan, lihat Mendaftarkan cluster di Cloud de Confiance by S3NS ke fleet Anda.
Batasan
Batasan berikut berlaku saat Anda mengupgrade cluster menggunakan urutan peluncuran dengan tahap kustom:
- Anda tidak dapat menggunakan konsol Cloud de Confiance untuk membuat atau melihat urutan peluncuran dengan tahapan kustom.
- Saat urutan peluncuran mereferensikan armada, Anda harus menyertakan seluruh armada . Batasan ini berarti bahwa jika Anda menentukan tahapan untuk menargetkan hanya subset cluster dari armada dengan
label-selector(misalnya, untuk deployment bertahap), Anda juga harus menentukan tahapan "catch-all" berikutnya yang mencakup semua cluster yang tersisa dari armada yang sama. Tahap umum ini menargetkan fleet yang sama, tetapi tidak menyertakanlabel-selector, sehingga secara otomatis menyertakan semua cluster yang tidak dipilih oleh tahap sebelumnya dalam urutan. - Jika Anda mengubah urutan selama peluncuran, khususnya perubahan yang memengaruhi cluster yang berpartisipasi, GKE akan segera membatalkan semua peluncuran yang ada. Jika Anda hanya mengubah waktu perendaman urutan, GKE tidak akan membatalkan peluncuran.
- Tahap dapat mereferensikan maksimal satu armada. Anda tidak dapat memiliki beberapa kumpulan armada dalam satu tahap.
- Satu fleet hanya dapat direferensikan dalam satu urutan peluncuran. Dua urutan peluncuran tidak dapat mereferensikan armada yang sama.
- Anda tidak dapat mengupgrade cluster dengan urutan peluncuran yang menggunakan upgrade otomatis patch yang dipercepat.
- Anda dapat membuat urutan peluncuran dengan hingga 15 tahap.
- Anda dapat menyertakan hingga 250 cluster dalam fleet. Untuk cluster dengan keanggotaan ringan, Anda dapat meminta penambahan kuota hingga 2.000 cluster dalam armada. Untuk mengetahui informasi selengkapnya, lihat Kuota dan batas.
- Anda dapat mengonfigurasi waktu perendaman maksimum per urutan hingga 90 hari di semua tahap.
Masalah umum
Bagian ini menguraikan masalah umum untuk pengurutan peluncuran dengan tahap kustom.
- Jika tahap dalam urutan peluncuran tidak berisi cluster, tahap tersebut akan dilewati, tetapi waktu penyesuaian yang ditentukan untuk tahap tersebut tetap berlalu sebelum peluncuran dilanjutkan ke tahap berikutnya.