Tentang urutan peluncuran dengan tahap kustom

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 lama fitur ini, pengurutan peluncuran berbasis fleet, yang memiliki fungsi lebih terbatas dan tidak direkomendasikan untuk lingkungan baru.

Dokumen ini mengasumsikan bahwa Anda mengetahui hal-hal berikut:

Untuk mengonfigurasi urutan peluncuran, lihat Mengurutkan peluncuran upgrade cluster dengan tahap kustom.

Ringkasan

Urutan peluncuran GKE memungkinkan Anda menentukan urutan tertentu untuk upgrade cluster di seluruh lingkungan—seperti mengupgrade cluster di lingkungan pengembangan terlebih dahulu, lalu lingkungan pengujian, dan terakhir produksi. Strategi progresif ini memberikan waktu tunggu bawaan, sehingga Anda dapat menemukan dan mengurangi potensi masalah sebelum upgrade mencapai sistem yang paling penting.

Urutan peluncuran dibangun berdasarkan konsep fleet, yang merupakan grup logis cluster GKE yang dipetakan ke lingkungan (misalnya, pengujian). Untuk menggunakan fitur ini, Anda menentukan urutan yang terdiri dari fleet dan menetapkan waktu tunggu di antara setiap grup. Saat GKE memilih versi baru, cluster Anda akan diupgrade sesuai urutan yang ditentukan, sehingga Anda dapat memvalidasi workload sebelum versi tersebut di-deploy sepenuhnya ke lingkungan produksi.

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 urutan peluncuran tanpa beberapa implikasi lain dari pengelolaan fleet penuh, seperti kesamaan namespace tingkat fleet. Untuk mengetahui informasi selengkapnya, lihat Keanggotaan ringan.

Memilih strategi pengurutan peluncuran

GKE menawarkan dua versi urutan peluncuran. Kedua versi ini dibuat berdasarkan prinsip inti yang sama, yaitu upgrade progresif berbasis fleet, tetapi sebaiknya gunakan pengurutan peluncuran dengan tahapan kustom untuk lingkungan baru:

  • Pengurutan peluncuran dengan tahap kustom (direkomendasikan untuk lingkungan baru): versi ini merupakan evolusi dari model berbasis fleet, yang menawarkan kontrol dan fleksibilitas yang lebih terperinci, tetapi tidak memiliki dukungan konsol Google Cloud yang komprehensif. Dengan tahap kustom, Anda dapat menentukan tahap tertentu dalam fleet menggunakan label, sehingga menjadikannya pilihan yang baik 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 secara berurutan, dan menjeda atau membatalkan peluncuran. Pilih opsi ini jika Anda membuat urutan peluncuran untuk pertama kalinya.
  • Pengurutan peluncuran berbasis fleet: versi fitur ini memiliki dukungan yang lebih komprehensif di konsol Google Cloud , 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 tahapan kustom.

Urutan peluncuran dengan tahap kustom

Saat menggunakan pengurutan peluncuran dengan tahap kustom, Anda menentukan urutan upgrade fleet dan menetapkan waktu tunggu. Selain itu, Anda juga dapat melakukan hal berikut:

  • Tentukan urutan dengan tahapan terperinci yang dapat menargetkan subset cluster tertentu dalam fleet menggunakan label, sehingga menjadikannya pilihan yang baik untuk strategi seperti peluncuran bertahap.
  • Dapatkan lebih banyak kontrol dan kemampuan observasi melalui objek API RolloutSequence dan Rollout yang baru.

Metode ini memberikan fleksibilitas dan kontrol terperinci yang paling besar atas upgrade cluster Anda. Untuk menargetkan subset cluster tertentu dalam fleet, 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. Tahap ini menargetkan cluster dengan label-selector bernama canary di fleet prod:

Urutan peluncuran dengan tahap kustom di GKE.
Gambar: Urutan peluncuran dengan tahapan kustom

Saat meluncurkan versi baru, GKE akan mengupgrade cluster di fleet Pengujian terlebih dahulu, diikuti dengan cluster di fleet Staging. Kemudian, di fleet Production, 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 Production (di tahap Main) di akhir proses karena tahap ini tidak memiliki pemilih label.

Selama waktu tunggu yang dikonfigurasi di antara tahap, Anda dapat memastikan bahwa workload Anda berjalan seperti yang diharapkan pada cluster yang diupgrade. Contoh sebelumnya menunjukkan satu tahap kustom di fleet Production, tetapi Anda dapat menambahkan beberapa tahap ke fleet mana pun atau hanya menggunakan satu fleet dengan beberapa tahap.

Konsep utama

  • Waktu tunggu: masa tunggu yang dapat dikonfigurasi yang terjadi setelah semua cluster dalam suatu tahap diupgrade. Waktu tunggu ini memungkinkan Anda memvalidasi versi baru di satu lingkungan dan mendeteksi potensi masalah sebelum upgrade dilanjutkan ke lingkungan berikutnya. Anda dapat mengonfigurasi waktu tunggu hingga 30 hari untuk setiap tahap dalam urutan Anda. Waktu tunggu 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. RolloutSequence berisi serangkaian tahap yang diurutkan, yang memverifikasi bahwa cluster pada tahap sebelumnya telah diupgrade sepenuhnya dan telah menyelesaikan periode soak sebelum upgrade dilanjutkan ke tahap berikutnya. Setiap RolloutSequence memiliki satu Rollout untuk setiap versi baru yang diluncurkan.
  • Rollout: objek ini memungkinkan Anda mengamati progres upgrade satu versi melalui urutan Anda. Anda dapat menggunakan Rollout untuk melihat status peluncuran, melacak progres, dan melihat apakah ada cluster yang tidak memenuhi syarat untuk diupgrade dan alasannya. Setiap Rollout dikaitkan dengan RolloutSequence tertentu yang mewakili urutan peluncuran versi.
  • Project host khusus: sebaiknya gunakan projectGoogle Cloud khusus untuk menghosting objek RolloutSequence Anda. Menempatkan urutan dalam project khusus akan memberikan titik kontrol pusat yang netral untuk urutan peluncuran Anda, yang merupakan praktik terbaik serupa untuk mengelola pipeline CI/CD.
Praktik terbaik:

Buat dan kelola resource RolloutSequence Anda di project host khusus.

  • Tahapan: tahapan adalah langkah dalam urutan peluncuran. Setiap tahap berisi grup cluster yang diupgrade bersama.
  • Fleet: fleet adalah cara utama untuk mengelompokkan cluster. Tahap dalam urutan peluncuran dapat merujuk ke satu atau beberapa fleet. Satu urutan peluncuran dapat mencakup fleet yang dihosting di beberapa organisasiGoogle Cloud .
  • 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 menjadi beberapa tahap. Pendekatan ini memungkinkan strategi seperti peluncuran bertahap, di mana sebagian kecil cluster produksi diupgrade terlebih dahulu.

Cara GKE mengupgrade cluster dalam urutan peluncuran

Saat GKE mengupgrade cluster, bidang kontrol 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 tunggu yang menentukan berapa lama GKE akan dijeda sebelum upgrade dilanjutkan dari satu grup ke grup berikutnya.

Upgrade cluster dalam urutan peluncuran dilanjutkan dengan langkah-langkah berikut:

  1. GKE memulai peluncuran baru dalam urutan peluncuran. Secara default, peluncuran dimulai saat GKE menetapkan target upgrade otomatis baru untuk cluster pada versi minor di saluran rilis tertentu. Untuk pengurutan peluncuran dengan tahapan kustom, Anda juga dapat memicu peluncuran baru di seluruh urutan peluncuran ke versi tertentu yang Anda pilih.
  2. GKE mulai mengupgrade bidang kontrol cluster ke versi baru di grup cluster pertama. Setelah GKE mengupgrade bidang kontrol cluster, GKE akan mulai mengupgrade node cluster. GKE mematuhi ketersediaan pemeliharaan saat mengupgrade cluster dalam urutan peluncuran.

  3. GKE melakukan langkah-langkah berikut untuk upgrade bidang kontrol:

    1. Setelah semua upgrade bidang kontrol cluster dalam grup pertama selesai, GKE akan memulai periode perendaman untuk upgrade bidang kontrol. GKE juga memulai periode perendaman jika lebih dari 30 hari telah berlalu sejak upgrade bidang kontrol dimulai.
    2. Setelah periode perendaman untuk upgrade bidang kontrol cluster grup pertama selesai, GKE akan mulai mengupgrade bidang kontrol grup kedua ke versi baru. Namun, perhatikan pertimbangan berikut:

      • Dalam beberapa kasus, GKE mungkin mengupgrade bidang kontrol cluster grup pertama beberapa kali sebelum mengupgrade bidang kontrol cluster grup kedua. Jika situasi ini terjadi, GKE akan memilih versi terbaru yang juga memiliki atribut berikut:
        • Versi ini 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.
  4. Selain mengontrol upgrade bidang kontrol, GKE melakukan langkah-langkah berikut untuk upgrade node:

    1. 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.
    2. Setelah menyelesaikan periode perendaman untuk upgrade node grup pertama, 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 ini memenuhi syarat oleh grup pertama.
        • Versi ini tidak lebih baru dari versi bidang kontrol cluster grup kedua.
      • GKE tidak mengupgrade node cluster di grup kedua yang memiliki versi lebih baru daripada versi yang memenuhi syarat oleh grup pertama.
  5. 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 tunggu, pastikan bahwa workload 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 referensi berikut:

Contoh: Bank komunitas secara bertahap meluncurkan perubahan dari Pengujian hingga Produksi

Administrator platform di bank komunitas mengelola tiga lingkungan deployment utama: Pengujian, Staging, dan Produksi. Cluster Produksi didistribusikan di beberapa region, dengan tingkat kekritisan yang bervariasi. Untuk mengelola upgrade secara efektif, administrator mengelompokkan cluster di setiap lingkungan ke dalam fleet. Sebagaimana diperlukan untuk pengurutan peluncuran, setiap cluster di ketiga fleet didaftarkan dalam 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 progresif di region dengan traffic lebih rendah terlebih dahulu, lalu beralih ke region dengan traffic lebih tinggi, dan terakhir ke region yang paling penting. Untuk mencapai hal ini, mereka menggunakan urutan peluncuran dengan tahapan kustom untuk menentukan strategi upgrade progresif yang mencakup pelabelan cluster produksi sesuai dengan regionnya. Pendekatan ini memungkinkan mereka memvalidasi versi baru pada sebagian kecil traffic produksi sebelum peluncuran penuh.

Untuk menerapkan rencana ini, administrator menerapkan label berikut ke cluster di fleet Production:

  • Cluster di us-west1 (traffic lebih rendah) diberi label prod-region: us-west1.
  • Cluster di europe-west1 (traffic lebih tinggi) diberi label prod-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, dalam project host khusus yang digunakan untuk mengelola konfigurasi CI/CD, mereka menentukan objek RolloutSequence. Urutan baru ini memiliki lima tahap yang berbeda:

  1. Pengujian: tahap ini mencakup semua cluster dalam fleet testing. Administrator menetapkan waktu tunggu tiga hari untuk memungkinkan validasi menyeluruh.
  2. Staging: tahap ini mencakup semua cluster di fleet staging, dengan waktu tunggu tiga hari.
  3. Produksi di region us-west1: tahap ini menargetkan fleet produksi, tetapi menggunakan label-selector untuk hanya menyertakan cluster dengan label prod-region: us-west1. Tahap ini memungkinkan administrator memantau masalah apa pun pada sebagian kecil cluster produksi dengan waktu tunggu tiga hari.
  4. Produksi di region europe-west1: tahap ini mencakup cluster dalam fleet production yang memiliki label prod-region: europe-west1. Administrator menetapkan waktu tunggu yang lebih lama, yaitu empat hari, untuk validasi yang lebih menyeluruh.
  5. Produksi di region us-east1: tahap akhir ini mencakup cluster yang tersisa di fleet production; yaitu, semua cluster di us-east1.

Pendekatan ini memberi administrator kontrol terperinci atas upgrade produksi, sehingga secara signifikan meningkatkan keamanan dan keandalan proses upgrade 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 daripada yang diperkirakan. Administrator mengamati bahwa versi baru stabil dan memutuskan bahwa waktu tunggu tiga hari setelah upgrade fleet Staging terlalu lama untuk jenis update rutin ini.

Untuk mempercepat peluncuran ini, administrator mengubah definisi RolloutSequence dan mengurangi durasi soak untuk tahap us-west1 fleet Production. Karena perubahan pada definisi RolloutSequence ini memperbarui waktu tunggu default untuk semua peluncuran saat ini dan mendatang, administrator mencatat untuk mengembalikan waktu tunggu ke periode tiga hari semula setelah peluncuran patch khusus ini selesai. Pendekatan ini membantu memastikan bahwa waktu tunggu standar yang lebih hati-hati diterapkan untuk upgrade versi minor di masa mendatang.

Administrator menggunakan masa pemeliharaan dan pengecualian agar 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 agar 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 pada tahap tersebut dan siap untuk segera melanjutkan.

Administrator menggunakan kombinasi upgrade surgedan blue-green untuk node, yang menyeimbangkan antara kecepatan dan toleransi risiko, tergantung 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 diluncurkan 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 di-roll out oleh GKE.

Meluncurkan versi tertentu

Anda juga dapat memulai peluncuran ke versi tertentu, jika, misalnya, Anda ingin dengan cepat menerapkan patch pada kerentanan keamanan, atau memperbaiki masalah kritis pada cluster GKE Anda. Tindakan ini akan 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 juga dapat melakukan upgrade cluster manual untuk masing-masing cluster. Upgrade cluster manual dilakukan di level 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 agar hanya melakukan jenis upgrade tertentu. Misalnya, jika Anda ingin GKE hanya meluncurkan upgrade bidang kontrol, dan bukan upgrade node, Anda dapat menentukan hal ini untuk urutan peluncuran Anda.

Jika Anda membatasi cakupan upgrade cluster untuk urutan peluncuran, GKE tidak akan melakukan jenis upgrade otomatis tersebut untuk cluster mana pun dalam urutan peluncuran, kecuali untuk upgrade otomatis wajib sesuai kebutuhan. Untuk mengetahui informasi selengkapnya, lihat Peluncuran untuk upgrade otomatis wajib. Membatasi cakupan upgrade cluster tidak akan membatalkan peluncuran yang sedang berlangsung dari jenis yang Anda batasi, tetapi hanya mencegah GKE membuat peluncuran jenis tersebut di masa mendatang.

Karena GKE tidak akan mengupgrade node cluster ke versi yang lebih baru daripada 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 masing-masing cluster atau node pool dalam cluster.

Peluncuran untuk upgrade otomatis wajib

Terlepas dari apakah cluster Anda terdaftar dalam urutan peluncuran atau tidak, GKE melakukan upgrade cluster otomatis untuk keamanan dan kompatibilitas. Jika cluster dalam urutan peluncuran Anda belum diupgrade bidang kontrolnya 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 cluster Anda tetap berperforma tinggi, 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 diluncurkan 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 kami merekomendasikan agar semua cluster terdaftar di saluran rilis yang sama, jika tidak, GKE akan memilih versi dari saluran yang paling konservatif dalam urutan. Misalnya, jika cluster digabungkan antara saluran Stabil dan saluran Reguler, GKE akan memilih versi dari saluran Stabil.

Rollout kemudian berlanjut melalui tahapan yang ditentukan dalam RolloutSequence Anda. Dalam tahap tertentu, peluncuran bidang kontrol dan peluncuran node pool dapat berjalan secara paralel. Aturan utama yang mengatur progres ini adalah bahwa meskipun suatu 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 versi divalidasi sepenuhnya sebelum upgrade berikutnya dimulai. Anda dapat mengamati progres dan kelayakan setiap cluster dengan memantau objek Rollout. Jika Anda 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 otomatis mengupgrade cluster 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 akan 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 suatu tahap adalah 1.32, dan tahap tersebut memiliki cluster yang menjalankan versi 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 mungkin 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 dapat berupa maksimal 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 bahwa urutan peluncuran selesai mengupgrade cluster, GKE memulai periode perendaman untuk grup jika upgrade bidang kontrol 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 soaking.

Cara kerja pengurutan peluncuran dengan fitur upgrade lainnya

Pengurutan peluncuran berfungsi bersama dengan fitur upgrade GKE lainnya:

  • Masa pemeliharaan dan pengecualian: Anda masih dapat menggunakan masa pemeliharaan dan pengecualian 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:

    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, keadaan ini dapat mencegah penyelesaian upgrade cluster dalam suatu tahap. Jika upgrade cluster tidak dapat diselesaikan dalam waktu 30 hari karena masa pemeliharaan atau pengecualian, tahap ini akan memasuki fase rendam meskipun tidak semua cluster telah selesai diupgrade.

  • Strategi upgrade node: pengurutan peluncuran tidak memengaruhi strategi upgrade node yang Anda konfigurasi (misalnya, upgrade blue-green). Serupa dengan upgrade cluster yang tidak memiliki urutan peluncuran, GKE menggunakan upgrade lonjakan untuk node Autopilot. Untuk 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 dilanjutkan. Proses peluncuran otomatis didorong oleh target upgrade otomatis resmi yang ditetapkan untuk saluran rilis. Upgrade manual akan mengupdate cluster, tetapi urutan mulai berlanjut untuk versi tersebut hanya setelah versi tersebut menjadi target upgrade otomatis yang ditetapkan.

  • Notifikasi cluster: GKE menyediakan 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 dalam proses, 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 tahapan kustom, dan peluncuran yang dilakukan dengan urutan peluncuran tersebut. Misalnya, GKE mengirimkan notifikasi saat tahap peluncuran dimulai, selesai, atau diblokir. Atau, GKE akan mengirimkan notifikasi jika Anda salah mengonfigurasi urutan peluncuran. Untuk mengetahui informasi selengkapnya, lihat dokumen Notifikasi cluster, dan bagian 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 prosesnya sambil menilai respons cluster dan workload terhadap perubahan tersebut. Selain itu, Anda dapat membuat peluncuran baru untuk meluncurkan versi tertentu.

Saat upgrade sedang berlangsung, Anda dapat memeriksa statusnya. Berdasarkan cara upgrade berlangsung, 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 sedang 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 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 mengambil alih tahap peluncuran yang dijeda. Misalnya, jika GKE telah meluncurkan 1.34.8-gke.1000000 ke tahap pertama dan kedua, dan Anda menjeda peluncuran pada 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 selama kurang dari 90 hari, setelah menyelidiki potensi masalah dan siap 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 saat yang sama di tahap yang sama. Anda juga dapat melanjutkan peluncuran yang otomatis dijeda oleh GKE karena alasan teknis atau bisnis, meskipun sebaiknya berhati-hati sebelum melakukannya.

Jika Anda melanjutkan peluncuran, GKE akan memulai operasi upgrade baru untuk terus meluncurkan 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 otomatis membuat peluncuran baru 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 dengan yang dibatalkan, luncurkan versi tertentu.

Menyelesaikan tahap peluncuran

Jika Anda 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, cluster yang belum diupgrade oleh GKE tidak akan diupgrade sebagai bagian dari peluncuran tersebut. Menyelesaikan tahap ini juga akan melewati waktu tunggu yang tersisa. Tindakan ini juga berarti Anda tidak perlu mengubah waktu tunggu di tingkat urutan peluncuran.

Untuk menyelesaikan tahap peluncuran, lihat Menyelesaikan tahap peluncuran.

Mengelola peluncuran dengan mengubah urutan peluncuran

Anda juga dapat mengelola peluncuran dengan mengambil 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:

  • Kontrol upgrade secara manual dengan melakukan tindakan seperti membatalkan, melanjutkan, melakukan roll back, atau menyelesaikan upgrade node pool.
  • Gunakan masa pemeliharaan dan pengecualian untuk menentukan kapan cluster dapat dan tidak dapat diupgrade.
  • Konfigurasi strategi upgrade node untuk menyeimbangkan antara kecepatan dan toleransi risiko, bergantung pada workload 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
  • Menjelaskan 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, setiap cluster yang merupakan bagian dari fleet dalam urutan peluncuran akan diupgrade sebagai bagian dari urutan peluncuran. Anda dapat menambahkan cluster ke tahap tertentu, atau cluster apa pun yang ada dalam fleet dan tidak diberi label akan diupgrade bersama-sama.

Namun, jika memiliki cluster yang tidak ingin disertakan dalam urutan peluncuran, Anda dapat memberi label pada cluster tersebut agar GKE mengabaikannya saat meluncurkan versi baru. Anda mungkin perlu melakukannya, misalnya, jika Anda memerlukan waktu tambahan sebelum mengupgrade cluster tertentu. 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 tersebut, 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 dilanjutkan 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, menghapus, mengubah urutan, atau mengedit tahapan—misalnya, untuk mengubah project ID atau pemilih label dari tahapan tersebut—dalam urutan peluncuran, GKE akan membatalkan semua peluncuran yang aktif.
  • Jika Anda mengubah waktu tunggu suatu tahap, GKE tidak akan membatalkan peluncuran yang aktif.

Untuk mengubah urutan peluncuran, lihat Mengubah urutan peluncuran.

Hal berikut akan terjadi jika Anda mengubah cluster dalam urutan:

  • Jika Anda menghapus cluster dari urutan peluncuran dengan menghapusnya dari fleet, peluncuran aktif akan berlanjut. GKE dapat otomatis mengupgrade cluster 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 penambahan cluster. Namun, jika tahap telah selesai untuk peluncuran, GKE tidak akan mengupgrade cluster dalam peluncuran tersebut.
  • Jika Anda memindahkan cluster ke tahap yang berbeda 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 telah diupgrade dalam peluncuran ke tahap berikutnya yang belum selesai, GKE akan mengabaikan cluster tersebut dan tidak akan mengganggu progres peluncuran.

Untuk mengubah cluster dalam urutan, lihat Mendaftarkan cluster di Google Cloud ke fleet Anda.

Batasan

Batasan berikut berlaku saat Anda mengupgrade cluster menggunakan pengurutan peluncuran dengan tahap kustom:

  • Anda tidak dapat menggunakan konsol Google Cloud untuk membuat atau mengubah urutan peluncuran dengan tahapan kustom. Namun, Anda dapat menggunakan konsol untuk memantau peluncuran (Pratinjau).
  • Jika urutan peluncuran merujuk ke fleet, Anda harus menyertakan seluruh fleet. Batasan ini berarti bahwa jika Anda menentukan tahap untuk menargetkan hanya subset cluster dari fleet dengan label-selector (misalnya, untuk deployment bertahap), Anda juga harus menentukan tahap "catch-all" berikutnya yang mencakup semua cluster yang tersisa dari fleet yang sama. Tahap umum ini menargetkan fleet yang sama, tetapi tidak menyertakan label-selector, sehingga 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 tunggu urutan, GKE tidak akan membatalkan peluncuran.
  • Satu stage dapat mereferensikan maksimum satu fleet. Anda tidak dapat memiliki beberapa fleet dalam satu tahap.
  • Satu fleet hanya dapat direferensikan dalam satu urutan peluncuran. Dua urutan peluncuran tidak dapat merujuk ke fleet yang sama.
  • Anda tidak dapat mengupgrade cluster dengan urutan peluncuran yang menggunakan upgrade otomatis patch yang dipercepat.
  • Anda dapat membuat urutan peluncuran dengan maksimal 15 tahap.
  • Anda dapat menyertakan hingga 250 cluster dalam sebuah fleet. Untuk cluster dengan keanggotaan ringan, Anda dapat meminta penambahan kuota hingga 2.000 cluster dalam satu fleet. Untuk mengetahui informasi selengkapnya, lihat Kuota dan batas.
  • Anda dapat mengonfigurasi waktu tunggu maksimum per urutan hingga 90 hari di semua tahap.

Masalah umum

Bagian ini menguraikan masalah umum untuk pengurutan peluncuran dengan tahapan kustom.

  • Jika tahap dalam urutan peluncuran Anda tidak berisi cluster, tahap tersebut akan dilewati, tetapi waktu tunggu yang ditentukan untuk tahap tersebut masih akan berlalu sebelum peluncuran dilanjutkan ke tahap berikutnya.

Langkah berikutnya