Node yang diupgrade secara otomatis


Halaman ini menunjukkan cara mengonfigurasi node yang diupgrade secara otomatis di Google Kubernetes Engine (GKE).

Ringkasan

Upgrade otomatis node membantu Anda menjaga node dalam cluster agar selalu diupdate dengan versi panel kontrol cluster saat panel kontrol Anda diperbarui secara otomatis. Saat Anda membuat cluster atau node pool baru dengan Konsol Google Cloud atau perintah gcloud, upgrade otomatis node diaktifkan secara default.

Anda dapat mempelajari upgrade cluster dan node lebih lanjut.

Upgrade otomatis node memberikan beberapa manfaat:

  • Overhead pengelolaan yang lebih rendah: Anda tidak perlu melacak dan mengupdate node secara manual saat panel kontrol diupgrade secara otomatis.
  • Keamanan yang lebih baik: Terkadang biner baru dirilis untuk memperbaiki masalah keamanan. Dengan upgrade otomatis, GKE otomatis memastikan bahwa update keamanan diterapkan dan terus diupdate.
  • Kemudahan penggunaan: Menyediakan cara sederhana untuk menjaga agar node Anda selalu diupdate dengan fitur Kubernetes terbaru.

Node pool dengan upgrade otomatis yang diaktifkan akan dijadwalkan untuk upgrade jika memenuhi kriteria pemilihan (diumumkan di catatan rilis). Peluncuran dilakukan secara bertahap dalam waktu beberapa minggu untuk memastikan stabilitas cluster dan fleet. Saat upgrade dilakukan, node akan dihabiskan dan dibuat ulang agar sesuai dengan versi panel kontrol saat ini. Modifikasi pada boot disk VM node tidak akan dipertahankan pada saat pembuatan ulang node. Untuk mempertahankan modifikasi di seluruh pembuatan ulang node, gunakan DaemonSet.

Upgrade otomatis node tidak tersedia untuk Cluster Alfa. Jika Anda menggunakan cluster dengan node pool Windows Server, silakan meninjau Mengupgrade node pool Windows Server sebelum mengaktifkan upgrade otomatis node.

Memeriksa status upgrade otomatis untuk node pool yang sudah ada

Anda dapat memeriksa apakah upgrade otomatis diaktifkan atau dinonaktifkan untuk node pool menggunakan Konsol Google Cloud atau perintah gcloud.

gcloud

Untuk memeriksa status upgrade otomatis node pool, jalankan perintah berikut:

gcloud container node-pools describe NODE_POOL_NAME \
  --cluster CLUSTER_NAME \
  --zone COMPUTE_ZONE

Ganti kode berikut:

  • NODE_POOL_NAME: nama node pool.
  • CLUSTER_NAME: nama cluster yang berisi node pool.
  • COMPUTE_ZONE: zona komputasi untuk cluster.

Konsol

Untuk memeriksa status upgrade otomatis node pool, lakukan tindakan berikut:

  1. Buka halaman Google Kubernetes Engine di Konsol Google Cloud.

    Buka Google Kubernetes Engine

  2. Di daftar cluster, klik nama cluster yang ingin Anda lihat.

  3. Klik tab Node.

  4. Di bagian Node Pool, klik nama node pool yang ingin Anda lihat,

  5. Di halaman Detail node pool, pada Pengelolaan, lihat nilai kolom Upgrade otomatis.

Mengaktifkan upgrade otomatis node untuk node pool yang sudah ada

Saat Anda membuat cluster baru dengan Konsol Google Cloud atau perintah gcloud, upgrade otomatis node diaktifkan secara default.

Anda dapat mengaktifkan upgrade otomatis node jika saat ini dinonaktifkan.

gcloud

Guna mengaktifkan upgrade otomatis untuk node pool yang sudah ada, jalankan perintah berikut:

gcloud container node-pools update NODE_POOL_NAME \
    --cluster CLUSTER_NAME \
    --zone COMPUTE_ZONE \
    --enable-autoupgrade

Ganti kode berikut:

  • NODE_POOL_NAME: nama node pool.
  • CLUSTER_NAME: nama cluster yang berisi node pool.
  • COMPUTE_ZONE: zona komputasi untuk cluster.

Konsol

Guna mengaktifkan upgrade otomatis untuk node pool yang sudah ada, lakukan langkah-langkah berikut:

  1. Buka halaman Google Kubernetes Engine di konsol Google Cloud.

    Buka Google Kubernetes Engine

  2. Di daftar cluster, klik nama cluster yang ingin diubah.

  3. Klik tab Node.

  4. Di bagian Node Pool, klik nama node pool yang ingin Anda ubah.

  5. Di halaman Detail node pool, klik Edit.

  6. Di bagian Pengelolaan, centang kotak Aktifkan upgrade otomatis.

  7. Klik Save.

Untuk kontrol yang lebih besar terhadap kapan node dapat diupgrade secara otomatis, pertimbangkan untuk mengonfigurasi masa dan pengecualian pemeliharaan.

Memeriksa status upgrade node

Anda dapat memeriksa status upgrade menggunakan gcloud container operations.

Lihat daftar setiap operasi yang sedang berjalan dan telah selesai di cluster:

gcloud container operations list

Setiap operasi diberi ID operasi dan jenis operasi, serta waktu mulai dan berakhir, cluster target, dan status. Daftar tersebut akan terlihat mirip dengan contoh berikut:

NAME                              TYPE                ZONE           TARGET              STATUS_MESSAGE  STATUS  START_TIME                      END_TIME
operation-1505407677851-8039e369  CREATE_CLUSTER      us-west1-a     my-cluster                          DONE    20xx-xx-xxT16:47:57.851933021Z  20xx-xx-xxT16:50:52.898305883Z
operation-1505500805136-e7c64af4  UPGRADE_CLUSTER     us-west1-a     my-cluster                          DONE    20xx-xx-xxT18:40:05.136739989Z  20xx-xx-xxT18:41:09.321483832Z
operation-1505500913918-5802c989  DELETE_CLUSTER      us-west1-a     my-cluster                          DONE    20xx-xx-xxT18:41:53.918825764Z  20xx-xx-xxT18:43:48.639506814Z

Untuk mendapatkan informasi selengkapnya tentang operasi tertentu, tentukan ID operasi seperti yang ditunjukkan pada perintah berikut:

gcloud container operations describe OPERATION_ID

Contoh:

gcloud container operations describe operation-1507325726639-981f0ed6
endTime: '20xx-xx-xxT21:40:05.324124385Z'
name: operation-1507325726639-981f0ed6
operationType: UPGRADE_CLUSTER
selfLink: https://container.googleapis.com/v1/projects/.../kubernetes-engine/docs/zones/us-central1-a/operations/operation-1507325726639-981f0ed6
startTime: '20xx-xx-xxT21:35:26.639453776Z'
status: DONE
targetLink: https://container.googleapis.com/v1/projects/.../kubernetes-engine/docs/zones/us-central1-a/clusters/...
zone: us-central1-a

Memeriksa setelan upgrade node pool

Anda dapat melihat detail strategi upgrade node yang digunakan untuk kumpulan node menggunakan perintah gcloud container node-pools describe. Untuk upgrade blue-green, perintah juga menampilkan fase saat ini dari upgrade.

Jalankan perintah berikut:

gcloud container node-pools describe NODE_POOL_NAME \
--cluster=CLUSTER_NAME

Ganti kode berikut:

  • NODE_POOL_NAME: nama node pool yang akan dideskripsikan.
  • CLUSTER_NAME: nama cluster node pool yang akan dideskripsikan.

Perintah ini akan memberikan output setelan upgrade saat ini. Contoh berikut menampilkan output jika Anda menggunakan strategi upgrade blue-green.

upgradeSettings:
  blueGreenSettings:
    nodePoolSoakDuration: 1800s
    standardRolloutPolicy:
      batchNodeCount: 1
      batchSoakDuration: 10s
  strategy: BLUE_GREEN

Jika Anda menggunakan strategi upgrade blue-green, outputnya juga menyertakan detail tentang setelan upgrade blue-green dan fase perantaranya saat ini. Contoh berikut menunjukkan kemungkinan tampilannya:

updateInfo:
  blueGreenInfo:
    blueInstanceGroupUrls:
    - https://www.googleapis.com/compute/v1/projects/{PROJECT_ID}/zones/{LOCATION}/instanceGroupManagers/{BLUE_INSTANCE_GROUP_NAME}
    bluePoolDeletionStartTime: {BLUE_POOL_DELETION_TIME}
    greenInstanceGroupUrls:
    - https://www.googleapis.com/compute/v1/projects/{PROJECT_ID}/zones/{LOCATION}/instanceGroupManagers/{GREEN_INSTANCE_GROUP_NAME}
    greenPoolVersion: {GREEN_POOL_VERSION}
    phase: DRAINING_BLUE_POOL

Nonaktifkan upgrade otomatis node

Meskipun tidak direkomendasikan, Anda dapat menonaktifkan upgrade otomatis node untuk kumpulan node yang sudah ada jika cluster yang mendasarinya tidak terdaftar di saluran rilis.

Pertimbangan sebelum menonaktifkan upgrade otomatis node

Jika Anda menonaktifkan upgrade otomatis node untuk node pool, GKE tidak akan mengupdate versi node. Menonaktifkan upgrade otomatis node tidak akan memblokir GKE untuk mengupgrade panel kontrol cluster Anda.

Penonaktifan akan mencegah update versi, tetapi tidak akan mencegah semua tugas pemeliharaan

Menonaktifkan upgrade otomatis node hanya mencegah GKE agar tidak mengupdate versi node, tetapi tidak mencegah GKE untuk melakukan inisialisasi tugas pemeliharaan lainnya. Misalnya, meskipun upgrade otomatis node dinonaktifkan, memicu Rotasi alamat IP, mengaktifkan kebijakan jaringan, atau Migrasi PSC pada cluster akan membuat ulang semua node pada versi yang sama dengan panel kontrol, terlepas dari versi yang dipilih untuk node pool. Untuk mengontrol waktu pemeliharaan, gunakan Masa dan pengecualian pemeliharaan.

Penonaktifan berarti Anda bertanggung jawab atas kompatibilitas node dan panel kontrol

Jika menonaktifkan upgrade otomatis node, Anda bertanggung jawab untuk memastikan bahwa node cluster menjalankan versi yang kompatibel dengan versi cluster, dan bahwa versi tersebut mematuhi Kebijakan dukungan ketidaksesuaian versi dan versi Kubernetes. Mulai GKE versi 1.19, GKE mengupgrade node yang menjalankan versi yang tidak didukung setelah versi tersebut mencapai akhir siklus proses (EOL) untuk memastikan kondisi dan kesesuaian cluster dengan kebijakan ketidaksesuaian versi open source. Node yang menjalankan versi yang tidak didukung mungkin tidak langsung diupgrade setelah akhir siklus proses (EOL) versi, dan waktu sebenarnya dapat bervariasi sesuai diskresi Google.

Penonaktifan tidak menghentikan pengoperasian yang sedang berlangsung

Menonaktifkan upgrade otomatis node tidak akan menghentikan atau membatalkan upgrade yang sedang berlangsung ke node dalam node pool. Untuk membatalkan atau menghentikan upgrade yang sedang berlangsung, ikuti langkah-langkah yang dijelaskan dalam Membatalkan upgrade node. Membatalkan upgrade node dapat membantu jika ada workload yang gagal pada node yang diupgrade dan Anda ingin mencegah gangguan lebih lanjut.

Jika upgrade telah selesai untuk seluruh node pool, upgrade tidak dapat di-roll back atau dibatalkan. Untuk mendowngrade node pool, silakan melihat Mendowngrade node pool.

Nonaktifkan upgrade otomatis node untuk node pool yang sudah ada

gcloud

Guna menonaktifkan upgrade otomatis untuk node pool yang sudah ada, jalankan perintah berikut:

gcloud container node-pools update NODE_POOL_NAME \
    --cluster CLUSTER_NAME \
    --zone COMPUTE_ZONE \
    --no-enable-autoupgrade

Konsol

Guna menonaktifkan upgrade otomatis untuk node pool yang sudah ada, lakukan langkah-langkah berikut:

  1. Buka halaman Google Kubernetes Engine di konsol Google Cloud.

    Buka Google Kubernetes Engine

  2. Di daftar cluster, klik nama cluster yang ingin diubah.

  3. Klik tab Node.

  4. Di bagian Node Pool, klik nama node pool yang ingin Anda ubah.

  5. Di halaman Detail node pool, klik Edit.

  6. Di bagian Pengelolaan, hapus centang pada kotak Aktifkan upgrade otomatis.

  7. Klik Simpan untuk mengubah cluster.

Membuat cluster atau node pool dengan upgrade otomatis node yang diaktifkan

gcloud

Guna membuat cluster dengan upgrade otomatis yang diaktifkan untuk node pool default, tentukan flag --enable-autoupgrade dalam perintah gcloud container clusters create:

gcloud container clusters create CLUSTER_NAME \
    --zone COMPUTE_ZONE \
    --enable-autoupgrade

Untuk membuat node pool dengan upgrade otomatis yang diaktifkan, tentukan flag --enable-autoupgrade dalam perintah gcloud container node-pools create:

gcloud container node-pools create NODE_POOL_NAME \
    --cluster CLUSTER_NAME \
    --zone COMPUTE_ZONE \
    --enable-autoupgrade

Konsol

Upgrade otomatis diaktifkan secara default untuk cluster dan node pool yang dibuat dengan Konsol Google Cloud. Buka artikel Membuat cluster atau Menambahkan dan mengelola node pool untuk mendapatkan petunjuk tentang cara membuat cluster dan node pool.

Anda dapat menonaktifkan upgrade otomatis untuk node pool baru. Dari halaman pembuatan cluster, klik nama node pool yang ingin Anda ubah, lalu hapus centang Aktifkan upgrade otomatis.

Menerima notifikasi upgrade

GKE memublikasikan notifikasi upgrade ke Pub/Sub, yang memberi Anda saluran untuk menerima informasi yang relevan dari GKE tentang cluster Anda.

Untuk mengetahui informasi selengkapnya, silakan melihat Menerima notifikasi upgrade cluster.

Mengubah parameter upgrade lonjakan

Untuk mempelajari cara mengubah parameter upgrade lonjakan lebih lanjut, silakan melihat Mengonfigurasi upgrade lonjakan.

Menjalankan kontrol selama upgrade node pool

Selama upgrade otomatis dan upgrade node pool yang diinisialisasi secara manual, Anda dapat melakukan tindakan berikut.

Membatalkan upgrade node pool

Anda dapat membatalkan upgrade kapan saja. Untuk mempelajari lebih lanjut hal yang akan terjadi saat Anda membatalkan upgrade lonjakan, silakan melihat Membatalkan upgrade lonjakan. Untuk mempelajari lebih lanjut apa yang akan terjadi jika Anda membatalkan upgrade blue-green, silakan melihat Membatalkan upgrade blue-green.

  1. Mendapatkan ID operasi upgrade:

    gcloud container operations list
    
  2. Membatalkan upgrade:

    gcloud container operations cancel OPERATION_ID
    

Silakan melihat dokumentasi gcloud container operations cancel.

Melanjutkan upgrade node pool

Anda dapat melanjutkan upgrade dengan melakukan inisialisasi upgrade secara manual lagi, dengan menentukan versi target dari upgrade awal.

Misalnya, jika Anda menjeda upgrade yang sedang berlangsung ke versi 1.23.1-gke.100, Anda dapat melanjutkan upgrade yang dibatalkan dengan memulai upgrade yang sama lagi di node pool, yang menargetkan versi 1.23.1-gke.100.

Untuk mempelajari lebih lanjut apa yang akan terjadi saat Anda melanjutkan upgrade, silakan melihat Melanjutkan upgrade lonjakan dan upgrade blue-green.

Untuk melanjutkan upgrade, gunakan perintah berikut:

    gcloud container clusters upgrade CLUSTER_NAME \
      --node-pool=NODE_POOL_NAME \
      --cluster-version VERSION

Ganti kode berikut:

  • NODE_POOL_NAME: nama node pool tempat Anda ingin melanjutkan upgrade node pool.
  • CLUSTER_NAME: nama cluster node pool yang ingin Anda lanjutkan upgradenya.
  • VERSION: versi target dari upgrade node pool yang dibatalkan.

Untuk informasi selengkapnya, silakan melihat dokumentasi gcloud container clusters upgrade.

Me-roll back upgrade node pool

Anda dapat me-roll back node pool guna mendowngrade node yang diupgrade untuk mengembalikannya ke status aslinya sebelum upgrade node pool dimulai.

Gunakan perintah rollback jika upgrade yang sedang berlangsung dibatalkan, upgrade gagal, atau upgrade tidak selesai karena waktu masa pemeliharaan habis. Atau, jika Anda ingin menentukan versi, ikuti petunjuk untuk mendowngrade node pool.

Untuk mempelajari lebih lanjut apa yang akan terjadi saat Anda me-roll back upgrade node pool, silakan melihat Me-roll back upgrade lonjakan atau Me-roll back upgrade blue-green.

Untuk me-roll back upgrade, jalankan perintah berikut:

gcloud container node-pools rollback NODE_POOL_NAME \
  --cluster CLUSTER_NAME

Ganti kode berikut:

  • NODE_POOL_NAME: nama node pool yang upgrade node pool-nya akan di-roll back.
  • CLUSTER_NAME: nama cluster yang upgrade node pool-nya akan di-roll back

Silakan melihat dokumentasi gcloud container node-pools rollback.

Menyelesaikan upgrade node pool

Jika menggunakan strategi upgrade blue-green, Anda dapat menyelesaikan upgrade node pool selama Fase perendaman, melewati sisa waktu perendamannya.

Untuk mempelajari cara menyelesaikan upgrade node pool, silakan melihat Menyelesaikan upgrade node pool.

Untuk menyelesaikan upgrade saat menggunakan strategi upgrade blue-green, jalankan perintah berikut:

gcloud container node-pools complete-upgrade NODE_POOL_NAME \
  --cluster CLUSTER_NAME

Ganti kode berikut:

  • NODE_POOL_NAME: nama node pool yang ingin Anda selesaikan upgradenya.
  • CLUSTER_NAME: nama cluster node pool yang ingin Anda selesaikan upgradenya.

Silakan melihat dokumentasi gcloud container node-pools complete-upgrade.

Langkah selanjutnya