Mengurutkan peluncuran upgrade cluster dengan tahap kustom

Dokumen ini menunjukkan cara mengelola upgrade cluster Google Kubernetes Engine (GKE) yang menggunakan pengurutan peluncuran dengan tahap kustom. Anda membuat urutan peluncuran dengan menggunakan grup cluster yang diatur ke dalam fleet dan, secara opsional, subset cluster dari fleet tersebut. Anda dapat memilih durasi pengujian berdiam yang diinginkan setelah upgrade cluster selesai dalam sebuah grup (maksimum 30 hari). Anda dapat menyertakan cluster Autopilot dan Standard. Untuk mengetahui informasi selengkapnya tentang cara kerja fitur ini, lihat Tentang pengurutan peluncuran dengan tahap kustom.

Jika Anda mengelola peluncuran di beberapa fleet, sebaiknya gunakan project khusus untuk menghosting objek RolloutSequence Anda. Project ini berfungsi sebagai induk dan koordinator untuk peluncuran di seluruh urutan. Project ini biasanya bukan bagian dari urutan; artinya, project tidak berisi fleet atau cluster yang merupakan bagian dari urutan.

Sebelum memulai

Peran yang diperlukan

Untuk membuat project, Anda memerlukan peran Project Creator (roles/resourcemanager.projectCreator), yang berisi izin resourcemanager.projects.create. Pelajari cara memberikan peran.

Untuk membuat atau mengubah urutan peluncuran, Anda harus memiliki peran IAM Fleet Editor (roles/gkehub.editor) di setiap project host fleet dalam urutan peluncuran dan project host urutan peluncuran Anda. Peran ini memberikan izin berikut:

  • gkehub.rolloutsequences.create
  • gkehub.rolloutsequences.get
  • gkehub.rolloutsequences.list
  • gkehub.rolloutsequences.update
  • gkehub.rolloutsequences.delete
  • gkehub.fleet.update

Izin ini memungkinkan Anda membuat, mengakses, dan mengubah objek RolloutSequence, serta menggunakan armada dalam urutan peluncuran.

Jika perlu mendaftarkan atau membatalkan pendaftaran cluster ke fleet, Anda memerlukan semua izin berikut:

Anda dapat membuat urutan peluncuran menggunakan fleet yang dihosting di project dalam satu atau beberapa organisasi, jika Anda memiliki izin yang diperlukan untuk project tersebut.

Untuk mengetahui informasi selengkapnya tentang peran IAM dengan hak istimewa terendah yang diperlukan untuk berbagai tugas, lihat Mendapatkan saran peran bawaan dengan bantuan Gemini.

Mengonfigurasi urutan peluncuran

Untuk membuat urutan peluncuran, cluster harus diatur ke dalam grup fleet. Anda juga dapat membuat tahap terperinci yang dapat menargetkan subset cluster tertentu dalam armada menggunakan label Kubernetes. Untuk mendapatkan panduan tentang cara mengatur cluster, lihat contoh Community bank. Setelah mengatur cluster ke dalam grup dan secara opsional memberi label, Anda membuat urutan peluncuran dengan menentukan daftar berurutan tahap dan waktu perendaman untuk setiap grup.

Mengatur cluster ke dalam fleet

Dalam urutan peluncuran, sebaiknya daftarkan semua cluster di saluran rilis yang sama. Jika cluster tidak terdaftar di saluran yang sama, GKE akan memilih versi dari saluran yang paling konservatif dalam urutan. Misalnya, jika cluster terdaftar di saluran Stabil dan Reguler, GKE akan memilih versi dari saluran Stabil. Sebaiknya semua cluster menjalankan versi minor yang sama agar memenuhi syarat untuk versi target upgrade otomatis yang sama.

Jika cluster telah diatur ke dalam fleet, Anda dapat melewati langkah-langkah berikut dan melanjutkan ke bagian Membuat subset cluster.

  1. Kelompokkan cluster Anda ke dalam fleet. Anda dapat mengatur cluster berdasarkan lingkungan deployment, seperti Pengujian, Staging, dan Produksi (direkomendasikan).
  2. Daftarkan setiap cluster ke fleet berdasarkan pengelompokan yang Anda pilih.

Membuat subset cluster (opsional)

Untuk membuat tahap dalam urutan peluncuran menargetkan cluster tertentu, Anda harus memberi label pada cluster tersebut.

Misalnya, untuk menguji versi baru pada sebagian kecil cluster sebelum peluncuran penuh, Anda dapat menerapkan label canary ke cluster tersebut. Untuk menambahkan label canary dengan nilai true ke cluster menggunakan Google Cloud CLI, jalankan perintah berikut:

gcloud container clusters update CLUSTER_NAME \
    --location=CLUSTER_LOCATION\
    --update-labels=canary=true

Ganti kode berikut:

Flag --update-labels=canary=true menginstruksikan GKE untuk menerapkan label canary ke cluster .

Untuk mengetahui informasi selengkapnya tentang cara menambahkan label ke cluster, lihat Menambahkan atau memperbarui label untuk cluster yang ada.

Membuat urutan peluncuran dengan tahap kustom

Urutan peluncuran dengan tahap kustom menentukan urutan upgrade dengan menentukan tahap secara deklaratif. Dengan gcloud CLI, Anda menggunakan file YAML, dan dengan Terraform, Anda menambahkan blok resource ke konfigurasi. Saat melakukan langkah-langkah yang dijelaskan di bagian ini, Anda akan membuat RolloutSequence.

Untuk memastikan bahwa urutan mencakup semua cluster, setiap armada harus menyertakan tahap umum (tahap tanpa pemilih label). Tahap catch-all ini mencakup semua cluster yang tersisa yang tidak dipilih GKE pada tahap sebelumnya. Jika Anda menetapkan satu cluster ke beberapa tahap dalam satu RolloutSequence, untuk menyelesaikan konflik, GKE secara implisit menetapkan cluster hanya ke tahap paling awal.

Contoh konfigurasi berikut membuat tiga tahap:

  • Tahap pertama menargetkan semua cluster di fleet dev. Setelah upgrade selesai, ada waktu perendaman selama 7 hari (7d).
  • Tahap kedua menargetkan cluster di fleet prod yang memiliki label canary=true. Setelah upgrade selesai, ada waktu perendaman selama 7 hari (7d).
  • Tahap ketiga menargetkan cluster yang tersisa di fleet prod. Setelah upgrade selesai, ada waktu perendaman selama 7 hari (7d).

gcloud

  1. Simpan manifes berikut sebagai rollout-sequence.yaml:

    - stage:
      fleet-projects:
      - projects/dev
      soak-duration: 7d
    - stage:
      fleet-projects:
      - projects/prod
      soak-duration: 7d
      label-selector: resource.labels.canary=='true'
    - stage:
      fleet-projects:
      - projects/prod
      soak-duration: 7d
    

    Perhatikan hal berikut:

    • stage: mencakup fleet atau subset cluster dalam fleet. Cluster pada tahap sebelumnya harus diupgrade dan diuji sepenuhnya sebelum urutan dilanjutkan ke tahap berikutnya. Namun, jika cluster belum selesai diupgrade 30 hari setelah proses upgrade dimulai, GKE akan memulai periode perendaman.
    • fleet-projects: daftar fleet tempat memilih cluster untuk tahap ini. Maksimal satu armada dapat dirujuk per tahap. Fleet diidentifikasi oleh project tempat fleet dihosting. Project ini dapat berupa project yang berbeda dari project tempat cluster berada, jika fleet berisi keanggotaan lintas project. Format untuk menentukan project kumpulan armada adalah projects/PROJECT_ID.
    • label-selector (opsional): memilih subset cluster dari fleet yang ditentukan. Kolom ini menggunakan sintaksis Common Expression Language (CEL) dan harus dimulai dengan resource.labels.
    • soak-duration: waktu tunggu setelah mengupgrade semua cluster di tahap sebelumnya sebelum melanjutkan ke tahap berikutnya. Dinyatakan dalam detik, menit, jam, dan hari.
  2. Untuk membuat urutan peluncuran yang Anda tentukan dalam manifes rollout-sequence.yaml, jalankan perintah berikut:

    gcloud container fleet rolloutsequences create ROLLOUT_SEQUENCE_NAME \
        --display-name=DISPLAY_NAME \
        --stage-config=rollout-sequence.yaml
    

    Ganti kode berikut:

    • ROLLOUT_SEQUENCE_NAME: ID yang tidak dapat diubah dan sesuai dengan spesifikasi RFC-1034, misalnya, test-rollout-sequence.
    • DISPLAY_NAME: string yang dapat dibaca manusia untuk urutan peluncuran Anda.

Terraform

Bagian ini menunjukkan cara membuat urutan peluncuran dengan tahap kustom menggunakan Terraform. Anda juga dapat menggunakan resource ini untuk memperbarui urutan. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi untuk google_gke_hub_rollout_sequence.

  1. Tambahkan blok berikut ke konfigurasi Terraform Anda untuk membuat resource urutan peluncuran:

    resource "google_gke_hub_rollout_sequence" "rollout_sequence" {
      rollout_sequence_id = "ROLLOUT_SEQUENCE_NAME"
      display_name        = "DISPLAY_NAME"
      stages {
        fleet_projects = ["projects/dev"]
        soak_duration  = "7d"
      }
      stages {
        fleet_projects = ["projects/prod"]
        cluster_selector {
          label_selector = "resource.labels.canary=='true'"
        }
        soak_duration  = "7d"
      }
      stages {
        fleet_projects = ["projects/prod"]
        soak_duration  = "7d"
      }
    }
    

    Ganti kode berikut:

    • ROLLOUT_SEQUENCE_NAME: ID yang tidak dapat diubah dan sesuai dengan spesifikasi RFC-1034, misalnya, test-rollout-sequence.
    • DISPLAY_NAME: string yang dapat dibaca manusia untuk urutan peluncuran Anda.

Meluncurkan versi tertentu

Anda dapat meluncurkan versi tertentu ke urutan peluncuran. Untuk mengetahui informasi selengkapnya, lihat Meluncurkan versi tertentu.

Anda dapat meluncurkan versi ke bidang kontrol atau node cluster dalam urutan peluncuran. Anda dapat memilih secara independen versi mana yang akan di-roll out ke bidang kontrol atau node.

GKE hanya dapat meluncurkan satu versi dalam satu waktu di tahap ke bidang kontrol atau node. Jika Anda memiliki peluncuran yang sedang berjalan di tahap pertama urutan peluncuran, GKE akan melakukan hal berikut, bergantung pada apakah Anda mengelola urutan peluncuran dengan gcloud CLI atau Terraform:

  • gcloud CLI: saat Anda menjalankan perintah, dialog interaktif akan menanyakan apakah Anda ingin membatalkan peluncuran yang ada untuk membuat peluncuran ke versi yang Anda tentukan. Jika Anda menjawab ya, GKE akan membatalkan peluncuran yang ada dan membuat peluncuran baru. Jika tidak, GKE akan mempertahankan peluncuran yang ada dan tidak membuat peluncuran baru seperti yang Anda minta semula dalam perintah.
  • Terraform: saat Anda memperbarui konfigurasi Terraform seperti yang dijelaskan di bagian berikutnya, GKE membatalkan peluncuran yang ada jika peluncuran berjalan di tahap pertama.

Meluncurkan versi ke bidang kontrol dalam urutan peluncuran

gcloud

Jalankan perintah berikut:

gcloud container fleet rolloutsequences upgrade ROLLOUT_SEQUENCE_NAME \
    --control-plane-version="CONTROL_PLANE_VERSION"

Ganti kode berikut:

  • ROLLOUT_SEQUENCE_NAME: nama urutan peluncuran.
  • CONTROL_PLANE_VERSION: versi yang akan di-roll out. Anda dapat memilih versi tertentu, seperti 1.34.7-gke.1055000, atau menggunakan alias versi. Untuk mengetahui informasi selengkapnya, lihat Menentukan versi cluster.

Terraform

Jika menggunakan Terraform untuk mengelola urutan peluncuran, Anda dapat meluncurkan versi tertentu dengan menambahkan ke blok yang digunakan untuk membuat urutan peluncuran.

Tambahkan kolom berikut ke blok. Anda dapat menambahkan kolom di mana saja kecuali di antara blok stages, yang harus berurutan:

min_control_plane_version = "CONTROL_PLANE_VERSION"

Ganti CONTROL_PLANE_VERSION dengan versi yang akan di-roll out. Anda dapat memilih versi tertentu, seperti 1.34.7-gke.1055000, atau menggunakan alias versi. Untuk mengetahui informasi selengkapnya, lihat Menentukan versi cluster.

Jika Anda telah menggunakan kolom ini untuk meluncurkan versi panel kontrol, kolom tersebut tetap berada di blok. Ganti versi sebelumnya yang diluncurkan dengan CONTROL_PLANE_VERSION yang ingin Anda luncurkan kali ini.

Meluncurkan versi ke node dalam urutan peluncuran

gcloud

Jalankan perintah berikut:

gcloud container fleet rolloutsequences upgrade ROLLOUT_SEQUENCE_NAME \
    --node-version="NODE_VERSION"

Ganti kode berikut:

  • ROLLOUT_SEQUENCE_NAME: nama urutan peluncuran.
  • NODE_VERSION: versi yang akan diluncurkan, misalnya, 1.34.7-gke.1055000.

Terraform

Jika menggunakan Terraform untuk mengelola urutan peluncuran, Anda dapat meluncurkan versi tertentu dengan menambahkannya ke blok yang Anda gunakan untuk membuat urutan peluncuran.

Tambahkan kolom berikut ke blok. Anda dapat menambahkan kolom di mana saja kecuali di antara blok stages, yang harus berurutan:

min_node_version = "NODE_VERSION"

Ganti NODE_VERSION dengan versi yang akan di-roll out, misalnya, 1.34.7-gke.1055000. Jika Anda sudah menggunakan kolom ini untuk meluncurkan versi node, kolom tersebut akan tetap berada di blok. Ganti versi sebelumnya yang diluncurkan dengan NODE_VERSION yang ingin Anda luncurkan kali ini.

Memeriksa status peluncuran

Setelah Anda mengonfigurasi urutan peluncuran, sistem akan otomatis membuat Rollout objek untuk mengelola upgrade. Anda dapat mengamati dan melacak progres objek ini menggunakan perintah Google Cloud CLI.

Mencantumkan peluncuran

Untuk mencantumkan semua peluncuran aktif dan historis di project host urutan peluncuran, jalankan perintah berikut:

gcloud container fleet rollouts list --project=HOST_PROJECT_ID

Ganti HOST_PROJECT_ID dengan ID project host urutan peluncuran Anda.

Anda dapat menghilangkan flag --project=HOST_PROJECT_ID jika sudah berada di project tempat urutan peluncuran dihosting.

Outputnya mirip dengan hal berikut ini:

NAME                                              STATE      CREATE_TIME
05eb251e4f19269e23-node-1-33-5-gke-1201000-t7mqd  COMPLETED  2025-10-30T20:07:46
05eb251e4f19269e23-kcp-1-33-5-gke-1201000-djwst   COMPLETED  2025-10-30T18:07:06
05eb251e4f19269e23-node-1-33-5-gke-1125000-6bxvu  COMPLETED  2025-10-23T17:46:54
05eb251e4f19269e23-kcp-1-33-5-gke-1125000-2f6ct   RUNNING    2025-10-23T16:41:33

Dalam output sebelumnya, nama peluncuran yang berisi kcp merujuk pada upgrade bidang kontrol, dan nama yang berisi node merujuk pada upgrade node. Segmen nama peluncuran setelah kcp atau node berasal dari versi GKE.

Menjelaskan peluncuran

Untuk mendapatkan informasi mendetail tentang peluncuran tertentu, termasuk versi target, status, dan cluster mana yang telah diupgrade, gunakan perintah describe dengan ID peluncuran yang Anda peroleh dari perintah sebelumnya:

gcloud container fleet rollouts describe ROLLOUT_ID \
  --project=HOST_PROJECT_ID

Ganti kode berikut:

  • ROLLOUT_ID: ID peluncuran yang Anda peroleh saat mencantumkan peluncuran.
  • HOST_PROJECT_ID: project ID tempat urutan peluncuran Anda dihosting.

Contoh:

gcloud container fleet rollouts describe 927e9a989930cf3b55-kcp-1-32-4-gke-1106006 \
  --project=my-hostfleet

Outputnya mirip dengan hal berikut ini:

createTime: '2025-05-26T11:47:29.909959672Z'
membershipStates:
  projects/dev-project-id/locations/us-central1/memberships/c-1:
    lastUpdateTime: '2025-05-26T12:20:55.601542481Z'
    targets:
    - cluster:   projects/dev-project-id/locations/us-central1/clusters/c-1
      operation: //container.googleapis.com/v1/projects/dev-project-id/locations/us-central1/operations/operation-1234567890-abcdefg-hijklm-nopqrst
      state: SUCCEEDED
    stageAssignment: 1
  projects/dev-project-id/locations/us-central1/memberships/c-2:
    lastUpdateTime: '2025-05-26T12:22:57.151203493Z'
    targets:
    - cluster:   projects/dev-project-id/locations/us-central1/clusters/c-2
      operation: //container.googleapis.com/v1/projects/dev-project-id/locations/us-central1/operations/operation-987654321-ghijkl-mno-pqr-stu-vwxyz
      state: SUCCEEDED
    stageAssignment: 1
  projects/prod-project-id/locations/us-central1/memberships/c-1:
    lastUpdateTime: '2025-05-26T13:03:34.134308942Z'
    targets:
    - cluster: projects/prod-project-id/locations/us-central1/clusters/c-1
      operation: //container.googleapis.com/v1/projects/prod-project-id/locations/us-central1/operations/operation-567891234-efghij-klm-nopq-rstu-vwxyz
      state: SUCCEEDED
    stageAssignment: 2
  projects/prod-project-id/locations/us-central1/memberships/c-2:
    lastUpdateTime: '2025-05-26T13:06:34.025261641Z'
    targets:
    - cluster: projects/prod-project-id/locations/us-central1/clusters/c-1
      operation: //container.googleapis.com/v1/projects/prod-project-id/locations/us-central1/operations/operation-765432198-01a7b896-67c2-523-6fjjh4-icmdydh
      state: SUCCEEDED
    stageAssignment: 2
name: projects/user-hostfleet/locations/global/rollouts/05eb251e4f19269e23-kcp-1-32-4-gke-1106006
rolloutSequence: projects/project-id/locations/global/rolloutSequences/my-sequence
state: COMPLETED
updateTime: '2025-07-22T07:36:51.052691989Z'
versionUpgrade:
  desiredVersion: 1.32.4-gke.1106006
  type: TYPE_CONTROL_PLANE
stages:
- state: COMPLETED
  endTime: '2025-05-26T12:22:28.828506491Z'
  stageNumber: 1
  startTime: '2025-05-26T11:48:28.772658427Z'
  soakDuration: 600s
- state: COMPLETED
  endTime: '2025-05-26T13:06:20.026390832Z'
  stageNumber: 2
  startTime: '2025-05-26T12:32:38.419372153Z'
  soakDuration: 600s

Informasi status untuk peluncuran

Saat Anda menjelaskan peluncuran, kolom stages dan membershipStates dari output memberikan status progres setiap tahap dan cluster dalam tahap tersebut, masing-masing.

Tabel berikut mencantumkan kemungkinan status tahap:

Status Deskripsi
PENDING Upgrade belum dimulai untuk tahap ini.
RUNNING Upgrade sedang berlangsung untuk tahap ini. Jika Anda telah mengonfigurasi masa pemeliharaan untuk cluster di tahap tersebut, GKE akan menunggu hingga masa pemeliharaan dimulai sebelum mengupgrade cluster.
SOAKING Semua cluster dalam tahap ini telah menyelesaikan upgrade, dan tahap ini berada dalam periode berdiam yang dikonfigurasi.
FORCED_SOAKING Upgrade memerlukan waktu lebih lama daripada waktu upgrade maksimum (30 hari), dan oleh karena itu GKE memulai fase berdiam secara paksa. Upgrade masih dilanjutkan di cluster yang tersisa.
COMPLETED Tahap perendaman telah selesai, dan peluncuran dilanjutkan ke tahap berikutnya.

Tabel berikut mencantumkan kemungkinan status cluster dalam urutan:

Status Deskripsi
PENDING Upgrade tertunda di cluster ini.
INELIGIBLE Cluster ini tidak memenuhi syarat untuk upgrade, mungkin karena perbedaan versi. Alasan ketidaklayakan diberikan dalam output.
RUNNING Upgrade sedang berlangsung di cluster ini.
SUCCEEDED Upgrade telah berhasil diselesaikan di cluster ini.
FAILED Upgrade telah gagal di cluster ini. Target yang gagal akan dicoba lagi tanpa batas waktu selama tahapnya aktif (dalam status RUNNING atau FORCED_SOAKING).

Mengelola peluncuran

Anda dapat mengelola setiap peluncuran menggunakan petunjuk yang diberikan di bagian berikut. Untuk mengetahui informasi selengkapnya tentang cara mengelola peluncuran dan tindakan yang dapat Anda lakukan, lihat Mengelola peluncuran.

Untuk mengelola seluruh urutan peluncuran, dan bukan hanya satu peluncuran tertentu, lihat bagian berikut, Mengelola urutan peluncuran.

Menjeda peluncuran

Anda dapat menjeda peluncuran yang aktif. Untuk mengetahui informasi selengkapnya tentang tindakan ini, lihat Menjeda peluncuran.

Untuk menjeda peluncuran, jalankan perintah berikut:

gcloud container fleet rollouts pause ROLLOUT_ID

Ganti ROLLOUT_ID dengan ID peluncuran yang ingin Anda jeda. Untuk mendapatkan ID peluncuran untuk peluncuran dalam urutan peluncuran Anda, lihat Mencantumkan peluncuran.

Melanjutkan peluncuran

Anda dapat melanjutkan peluncuran yang dijeda yang telah dijeda selama kurang dari 90 hari. Untuk mengetahui informasi selengkapnya tentang tindakan ini, lihat Melanjutkan peluncuran.

Untuk melanjutkan peluncuran yang dijeda, jalankan perintah berikut:

gcloud container fleet rollouts resume ROLLOUT_ID

Ganti ROLLOUT_ID dengan ID peluncuran yang ingin Anda lanjutkan. Untuk mendapatkan ID peluncuran untuk peluncuran dalam urutan peluncuran, lihat Mencantumkan peluncuran.

Membatalkan peluncuran

Anda dapat membatalkan peluncuran, termasuk peluncuran yang aktif atau telah dijeda. Anda tidak dapat membatalkan peluncuran untuk upgrade otomatis wajib. Untuk mengetahui informasi selengkapnya tentang cara membatalkan peluncuran, lihat Membatalkan peluncuran.

Untuk membatalkan peluncuran, jalankan perintah berikut:

gcloud container fleet rollouts cancel ROLLOUT_ID

Ganti ROLLOUT_ID dengan ID peluncuran yang ingin Anda batalkan. Untuk mendapatkan ID peluncuran untuk peluncuran dalam urutan peluncuran, lihat Mencantumkan peluncuran.

Menyelesaikan tahap peluncuran

Anda dapat menyelesaikan tahap peluncuran jika Anda siap untuk melanjutkan upgrade ke tahap berikutnya. Untuk mengetahui informasi selengkapnya tentang tindakan ini, lihat Menyelesaikan tahap peluncuran.

Untuk menyelesaikan tahap peluncuran, jalankan perintah berikut:

gcloud container fleet rollouts force-complete-stage ROLLOUT_ID \
    --stage=STAGE

Ganti kode berikut:

  • ROLLOUT_ID: ID peluncuran tempat Anda ingin menyelesaikan tahap. Untuk mendapatkan ID peluncuran untuk peluncuran dalam urutan peluncuran, lihat Mencantumkan peluncuran.
  • STAGE: tahap yang ingin Anda selesaikan sekarang. Misalnya, jika Anda ingin menyelesaikan tahap kedua, masukkan 2. Tahap harus berjalan atau meresap untuk menggunakan perintah ini.

Mengabaikan cluster dalam urutan peluncuran untuk peluncuran tertentu

Anda dapat membuat GKE mengabaikan cluster dalam urutan peluncuran jika Anda tidak ingin cluster tersebut diupgrade sebagai bagian dari peluncuran aktif. Namun, tindakan ini menghapus cluster dari urutan peluncuran untuk peluncuran aktif dan mendatang, bukan hanya peluncuran aktif.

Untuk melakukan tindakan ini agar cluster tidak diupgrade dalam peluncuran yang aktif, lihat Mengabaikan cluster dalam urutan peluncuran.

Mengelola urutan peluncuran

Anda dapat mengontrol upgrade cluster otomatis dengan urutan peluncuran dalam beberapa cara, seperti yang dijelaskan di bagian berikut.

Jika Anda ingin mengelola satu peluncuran dari urutan peluncuran, bukan seluruh urutan peluncuran dan semua peluncurannya, lihat Mengelola peluncuran.

Mencantumkan urutan peluncuran Anda

Untuk mencantumkan semua urutan peluncuran di project host Anda, jalankan perintah berikut:

gcloud container fleet rolloutsequences list --project=HOST_PROJECT_ID

Ganti HOST_PROJECT_ID dengan ID project host urutan peluncuran Anda.

Mendeskripsikan urutan peluncuran

Untuk melihat detail urutan peluncuran tertentu, jalankan perintah berikut:

gcloud container fleet rolloutsequences describe ROLLOUT_SEQUENCE_NAME \
  --project=HOST_PROJECT_ID

Ganti kode berikut:

  • ROLLOUT_SEQUENCE_NAME: nama urutan peluncuran.
  • HOST_PROJECT_ID: ID project host urutan peluncuran Anda.

Outputnya mirip dengan hal berikut ini:

createTime: '2025-10-23T16:40:16.403871189Z'
displayName: my-display-name
name: projects/HOST_PROJECT_ID/locations/global/rolloutSequences/ROLLOUT_SEQUENCE_NAME
stages:
- clusterSelector:
    labelSelector: resource.labels.canary=='true'
  fleetProjects:
  - projects/FLEET_PROJECT_ID
  soakDuration: 600s
- fleetProjects:
  - projects/FLEET_PROJECT_ID
  soakDuration: 300s
uid: 5c5b2ac8-9d76-45f9-92ca-5e6bd3fbcaef
updateTime: '2025-10-23T17:11:57.285678399Z'

Pilih jenis upgrade yang dilakukan GKE dalam urutan peluncuran

Secara default, GKE melakukan semua jenis upgrade cluster dalam urutan peluncuran. Anda dapat membatasi cakupan upgrade cluster dalam urutan peluncuran untuk melakukan hanya jenis upgrade tertentu. Untuk mengetahui informasi, lihat Memilih jenis upgrade yang dilakukan GKE dalam urutan peluncuran.

Untuk menentukan jenis upgrade yang Anda inginkan agar dilakukan GKE dalam urutan peluncuran, ikuti petunjuk berikut, bergantung pada cara Anda mengelola urutan peluncuran:

gcloud

Jalankan perintah berikut:

gcloud container fleet rolloutsequences update ROLLOUT_SEQUENCE_NAME \
    --auto-rollout-scope=TYPES_OF_UPGRADES

Ganti kode berikut:

  • ROLLOUT_SEQUENCE_NAME: nama urutan peluncuran.
  • TYPES_OF_UPGRADES: daftar upgrade yang akan dilakukan, yang dapat berupa berikut:

    Misalnya, jika Anda hanya ingin versi patch di-roll out dalam urutan rollout, tentukan konfigurasi control-plane-patch,nodes-patch.

Terraform

Jika menggunakan Terraform untuk mengelola urutan peluncuran, Anda dapat menetapkan jenis upgrade yang Anda inginkan agar GKE lakukan dalam urutan peluncuran tersebut dengan menambahkan ke blok yang Anda gunakan untuk membuat urutan peluncuran.

Tambahkan kolom berikut ke blok. Anda dapat menambahkan kolom di mana saja kecuali di antara blok stages, yang harus berurutan:

auto_upgrade_config {
  rollout_creation_scope {
    upgrade_types = [
      UPGRADE_TYPES
    ]
  }
}

Ganti UPGRADE_TYPES dengan daftar upgrade yang akan dilakukan, yang dapat berupa satu atau beberapa hal berikut (masing-masing dalam tanda kutip):

Misalnya, jika Anda hanya ingin versi patch di-roll out dalam urutan peluncuran, tentukan konfigurasi upgrade_types = ["CONTROL_PLANE_PATCH", "NODE_PATCH"].

Jika Anda menetapkan upgrade_types = [], GKE tidak akan melakukan upgrade cluster apa pun dalam urutan peluncuran, kecuali untuk peluncuran untuk upgrade otomatis wajib.

Untuk kembali ke perilaku default saat GKE melakukan semua jenis upgrade cluster dalam urutan peluncuran, tentukan konfigurasi upgrade_types = ["CONTROL_PLANE_PATCH", "CONTROL_PLANE_MINOR", "NODE_PATCH", "NODE_MINOR"]. Atau, hapus blok auto_upgrade_config dari konfigurasi Terraform Anda.

Mengubah urutan peluncuran

Anda dapat mengubah urutan peluncuran yang ada setelah membuatnya. Ubah urutan peluncuran Anda dengan petunjuk berikut, bergantung pada cara Anda mengelola urutan peluncuran.

gcloud

Jika menggunakan gcloud CLI untuk mengelola urutan peluncuran, Anda dapat mengedit file konfigurasi YAML tempat Anda menentukan urutan. Misalnya, Anda dapat memperbarui waktu berdiam untuk tahap atau memperbarui tahap untuk mengubah urutan upgrade. Setelah Anda mengedit file, terapkan perubahan.

Misalnya, jika Anda menentukan urutan peluncuran asli dalam file bernama rollout-sequence.yaml, edit file sesuai kebutuhan. Kemudian, jalankan perintah berikut:

gcloud container fleet rolloutsequences update test-rollout-sequence \
  --display-name="My Updated Rollout Sequence" \
  --stage-config=rollout-sequence.yaml

Terraform

Jika Anda menggunakan Terraform untuk mengelola urutan peluncuran, ubah urutan peluncuran dengan mengubah blok yang Anda gunakan untuk membuat urutan peluncuran.

Mengabaikan cluster dalam urutan peluncuran

Anda dapat meminta GKE mengabaikan cluster dalam urutan peluncuran. Anda dapat mengabaikan satu atau beberapa cluster dalam urutan peluncuran. Untuk mengetahui informasi selengkapnya, lihat Mengabaikan cluster dalam urutan peluncuran.

Agar GKE mengabaikan cluster dalam urutan peluncuran, lakukan langkah-langkah berikut:

  1. Tambahkan label ke cluster yang ingin Anda abaikan oleh GKE, atau gunakan label yang ada. Anda dapat meminta GKE mengabaikan, misalnya, label seperti status, atau mengabaikan label saat label tersebut memiliki nilai tertentu, seperti status=quarantine.
  2. Tetapkan urutan peluncuran untuk mengabaikan cluster dengan label ini. Untuk melakukannya, ikuti langkah-langkah berikut, bergantung pada cara Anda mengelola urutan peluncuran:

    gcloud

    Jalankan perintah berikut:

    gcloud container fleet rolloutsequences update ROLLOUT_SEQUENCE_NAME \
        --ignored-clusters-selector="resource.labels.LABEL_TO_IGNORE"
    

    Ganti kode berikut:

    • ROLLOUT_SEQUENCE_NAME: nama urutan peluncuran.
    • LABEL_TO_IGNORE: nama label untuk cluster yang harus diabaikan GKE untuk urutan peluncuran.

    Terraform

    Jika Anda menggunakan Terraform untuk mengelola urutan peluncuran, tambahkan kolom berikut ke blok yang Anda gunakan untuk membuat urutan peluncuran. Anda dapat menambahkan kolom di mana saja kecuali di antara blok stages, yang harus berurutan:

    ignored_clusters_selector {
      label_selector = "resource.labels.LABEL_TO_IGNORE"
    }
    

    Ganti LABEL_TO_IGNORE dengan nama label untuk cluster yang harus diabaikan GKE untuk urutan peluncuran.

Petunjuk ini mengonfigurasi GKE untuk mengabaikan satu jenis label dalam urutan peluncuran. Jika Anda ingin mengabaikan beberapa label atau membuat ekspresi yang lebih kompleks tentang cara mengabaikan cluster dengan label tertentu, Anda dapat meneruskan nilai ke kolom ini menggunakan sintaksis ekspresi CEL. Semua label harus menggunakan awalan resource.labels..

Menambahkan kembali cluster ke urutan peluncuran

Jika Anda mengikuti petunjuk di bagian sebelumnya untuk GKE guna mengabaikan cluster dalam urutan peluncuran, Anda dapat mengurungkan tindakan ini. Jika Anda ingin GKE tidak lagi mengabaikan cluster, hapus pemilih pengabaian dengan petunjuk berikut, bergantung pada cara Anda mengelola urutan peluncuran:

gcloud

Jalankan perintah berikut:

gcloud container fleet rolloutsequences update ROLLOUT_SEQUENCE_NAME \
    --clear-ignored-clusters-selector

Ganti ROLLOUT_SEQUENCE_NAME dengan nama urutan peluncuran.

Perintah ini akan mereset pemilih yang diabaikan sehingga GKE tidak akan mengabaikan cluster apa pun dalam urutan.

Terraform

Jika Anda menggunakan Terraform untuk mengelola urutan peluncuran, hapus blok ignored_clusters_selector dari blok yang Anda gunakan untuk membuat urutan peluncuran.

Atau, jika Anda ingin GKE tidak mengabaikan cluster tertentu, hapus label dari cluster.

Menghapus urutan peluncuran

Untuk menghapus urutan peluncuran, jalankan perintah berikut:

gcloud container fleet rolloutsequences delete ROLLOUT_SEQUENCE_NAME \
  --project=HOST_PROJECT_ID

Ganti kode berikut:

  • ROLLOUT_SEQUENCE_NAME dengan nama urutan peluncuran.
  • HOST_PROJECT_ID dengan ID project host urutan peluncuran Anda.

Jika Anda menghapus urutan peluncuran, semua peluncuran yang sedang berlangsung untuk urutan tersebut akan dibatalkan. Cluster yang merupakan bagian dari urutan akan kembali ke perilaku upgrade otomatis default untuk saluran rilis yang terdaftar.

Memigrasikan urutan peluncuran yang ada untuk menggunakan tahap kustom

Jika Anda menggunakan versi berbasis armada dari pengurutan peluncuran, Anda dapat bermigrasi ke urutan yang menggunakan tahap kustom dengan membuat RolloutSequence baru yang mereferensikan armada yang ada. Perhatikan bahwa versi pengurutan peluncuran ini tidak memiliki dukungan konsol Cloud de Confiance .

Untuk memigrasikan urutan peluncuran, selesaikan langkah-langkah berikut:

  1. Secara opsional, sebelum Anda memigrasikan urutan, buat salinan konfigurasi urutan peluncuran saat ini. Untuk membuat salinan konfigurasi, lakukan salah satu hal berikut:

    Sebaiknya jangan hapus urutan peluncuran berbasis armada Anda, untuk mempermudah kembali ke versi urutan peluncuran sebelumnya, jika perlu. Anda tidak perlu menghapus urutan peluncuran berbasis fleet agar urutan peluncuran dengan tahap kustom berfungsi, karena GKE hanya mematuhi urutan peluncuran dengan tahap kustom jika keduanya ada.

  2. Buat project Cloud de Confiance by S3NS khusus untuk menghosting urutan peluncuran Anda. Proyek ini biasanya tidak menjadi bagian dari urutan; artinya, proyek tidak berisi fleet atau cluster yang merupakan bagian dari urutan.

  3. Jika Anda ingin urutan peluncuran menyertakan cluster tertentu dalam fleet, tambahkan label ke cluster tersebut. Langkah ini opsional.

  4. Ikuti petunjuk di Membuat urutan peluncuran dengan tahap kustom.

    Misalnya, manifes berikut, yang diberi nama rollout-sequence-migrate.yaml, mereferensikan fleet yang ada dalam urutan peluncuran sebelumnya. Manifes ini menjelaskan tiga tahap, termasuk tahap canary di fleet prod:

    - stage:
      fleet-projects:
      - projects/dev
      soak-duration: 604800s
    - stage:
      fleet-projects:
      - projects/prod
      soak-duration: 604800s
      label-selector: canary=true
    - stage:
      fleet-projects:
      - projects/prod
      soak-duration: 604800s
    

Segera setelah Anda menentukan RolloutSequence baru untuk armada, GKE akan mulai mengupgrade armada sesuai urutan baru, dan menghapus konfigurasi sebelumnya.

Memigrasikan urutan peluncuran dengan tahap kustom ke urutan peluncuran sebelumnya

Bagian ini menjelaskan cara mengembalikan urutan peluncuran dengan tahap kustom ke model urutan peluncuran berbasis fleet. Proses ini melibatkan penghapusan RolloutSequence baru dan memulihkan konfigurasi berbasis fleet asli Anda.

Mencegah upgrade yang tidak berurutan selama migrasi

Untuk menghindari upgrade yang tidak diinginkan atau tidak berurutan saat Anda mengonfigurasi ulang urutan, terapkan pengecualian pemeliharaan ke cluster produksi. Langkah ini akan menjeda sementara semua upgrade otomatis di cluster tersebut. Misalnya, Anda dapat mengonfigurasi pengecualian pemeliharaan jenis no upgrades di cluster produksi.

Menghapus urutan peluncuran

Hapus objek RolloutSequence yang mengelola cluster Anda. Penghapusan ini menonaktifkan fitur tahap kustom.

Untuk menghapus RolloutSequence, jalankan perintah berikut:

gcloud container fleet rolloutsequences delete ROLLOUT_SEQUENCE_NAME

Ganti ROLLOUT_SEQUENCE_NAME dengan nama urutan peluncuran Anda.

Memulihkan konfigurasi urutan peluncuran sebelumnya (tanpa tahap kustom)

Setelah menghapus RolloutSequence, Anda dapat memulihkan konfigurasi berbasis fleet asli. Proses ini melibatkan pembuatan ulang fitur clusterupgrade dengan parameter aslinya, termasuk link upstreamFleet dan waktu perendaman untuk setiap armada dalam urutan Anda. Untuk mengetahui informasi selengkapnya, lihat Membuat urutan peluncuran.

Menghapus pengecualian pemeliharaan

Setelah memulihkan konfigurasi pengurutan peluncuran berbasis armada asli, hapus pengecualian pemeliharaan yang Anda terapkan pada langkah pertama di bagian ini. GKE melanjutkan upgrade otomatis, yang kini diatur oleh urutan berbasis fleet yang dipulihkan.

Langkah Berikutnya