Mengonfigurasi strategi upgrade node


Sebagai administrator platform, Anda dapat mengonfigurasi strategi upgrade node untuk menyesuaikan cara GKE mengupgrade node di cluster Google Kubernetes Engine (GKE). Untuk mempelajari strategi upgrade node lebih lanjut, baca Strategi upgrade node.

Sebelum memulai

Sebelum memulai, pastikan Anda telah menjalankan tugas berikut:

  • Aktifkan Google Kubernetes Engine API.
  • Aktifkan Google Kubernetes Engine API
  • Jika ingin menggunakan Google Cloud CLI untuk tugas ini, instal lalu initialize gcloud CLI. Jika sebelumnya Anda telah menginstal gcloud CLI, dapatkan versi terbaru dengan menjalankan gcloud components update.

Mengonfigurasi strategi upgrade node

Saat mengonfigurasi kumpulan node cluster, Anda dapat memilih dan mengonfigurasi salah satu strategi upgrade node yang didukung, yaitu surge atau blue-green. Dengan strategi upgrade ini, Anda dapat mengoptimalkan proses upgrade node pool berdasarkan kebutuhan lingkungan cluster.

Mengonfigurasi upgrade lonjakan

Upgrade lonjakan memungkinkan Anda mengubah jumlah upgrade GKE node pada satu waktu dan jumlah gangguan yang ditimbulkan upgrade pada workload Anda.

Flag max-surge-upgrade dan max-unavailable-upgrade ditentukan untuk setiap node pool. Untuk informasi selengkapnya tentang cara memilih parameter yang tepat, buka Mengoptimalkan konfigurasi upgrade lonjakan.

Anda dapat mengubah setelan ini saat membuat atau mengupdate cluster atau node pool.

Variabel berikut digunakan dalam perintah yang tercantum di bawah ini:

  • CLUSTER_NAME: nama cluster untuk node pool.
  • COMPUTE_ZONE: zona untuk cluster.
  • NODE_POOL_NAME: nama node pool.
  • NUMBER_NODES: jumlah node dalam node pool di setiap zona cluster.
  • SURGE_NODES: jumlah node tambahan (lonjakan) yang akan dibuat pada setiap upgrade node pool.
  • UNAVAILABLE_NODES: jumlah node yang tidak tersedia secara bersamaan setiap kali node pool diupgrade.

Membuat cluster dengan parameter lonjakan khusus

Guna membuat cluster dengan setelan khusus untuk upgrade lonjakan, gunakan flag max-surge-upgrade dan max-unavailable-upgrade.

gcloud container clusters create CLUSTER_NAME \
    --max-surge-upgrade=SURGE_NODES --max-unavailable-upgrade=UNAVAILABLE_NODES

Membuat cluster dengan upgrade lonjakan dinonaktifkan

Untuk membuat cluster tanpa upgrade lonjakan, tetapkan nilai untuk flag max-surge-upgrade ke 0.

gcloud container clusters create CLUSTER_NAME \
    --max-surge-upgrade=0 --max-unavailable-upgrade=1

Membuat node pool dengan parameter lonjakan khusus

Guna membuat node pool di cluster yang sudah ada dengan setelan khusus untuk upgrade lonjakan, gunakan flag max-surge-upgrade dan max-unavailable-upgrade.

gcloud container node-pools create NODE_POOL_NAME \
    --num-nodes=NUMBER_NODES --cluster=CLUSTER_NAME \
    --max-surge-upgrade=SURGE_NODES --max-unavailable-upgrade=UNAVAILABLE_NODES

Mengubah setelan upgrade lonjakan untuk node pool yang sudah ada

Untuk mengupdate setelan upgrade node pool yang sudah ada, gunakan flag max-surge-upgrade dan max-unavailable-upgrade. Jika Anda menetapkan max-surge-upgrade ke jumlah yang lebih besar dari 0, GKE akan menghasilkan node lonjakan. Jika Anda menetapkan max-surge-upgrade ke 0, GKE tidak akan menghasilkan node lonjakan.

gcloud container node-pools update NODE_POOL_NAME \
    --cluster=CLUSTER_NAME \
    --max-surge-upgrade=SURGE_NODES --max-unavailable-upgrade=UNAVAILABLE_NODES

Memeriksa apakah upgrade lonjakan diaktifkan pada node pool

Untuk melihat apakah upgrade lonjakan diaktifkan pada node pool, gunakan gcloud untuk mendeskripsikan parameter cluster:

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

Jika upgrade lonjakan diaktifkan pada node pool, strategi yang tercantum adalah SURGE.

Mengonfigurasi upgrade biru-hijau

Dengan upgrade kumpulan node blue-green, Anda dapat mengontrol:

  • BATCH_NODE_COUNT atau BATCH_PERCENT: ukuran batch node yang dihabiskan GKE pada satu waktu, yang berarti Pod akan dihapus dari node. Jumlah defaultnya adalah BATCH_NODE_COUNT=1 Jika salah satu setelan ini disetel ke 0, GKE akan melewati fase ini dan berlanjut ke fase kumpulan node Soak.
  • BATCH_SOAK_DURATION: waktu di antara setiap batch node yang dikosongkan.
  • NODE_POOL_SOAK_DURATION: jumlah waktu rendam agar Anda dapat memvalidasi beban kerja pada konfigurasi node baru.

Untuk mempelajari lebih lanjut cara kerja fase upgrade biru-hijau, lihat Tahapan upgrade biru-hijau.

Variabel berikut digunakan dalam perintah yang tercantum di bagian berikutnya:

  • CLUSTER_NAME: nama cluster untuk node pool.
  • NODE_POOL_NAME: nama node pool.
  • NUMBER_NODES: jumlah node dalam kumpulan node di setiap zona cluster.
  • BATCH_NODE_COUNT: jumlah node biru yang akan dikosongkan dalam batch selama fase pengosongan kolam biru. Jumlah defaultnya adalah 1. Jika disetel ke 0, fase pengosongan kolam biru akan dilewati.
  • BATCH_PERCENT: persentase node biru yang akan dikuras dalam batch selama fase pengosongan kolam biru, yang dinyatakan sebagai desimal antara 0 dan 1, inklusif. GKE membulatkan ke bawah ke node terdekat, ke nilai minimum 1 node, jika persentasenya bukan seluruh jumlah node. Jika disetel ke 0, fase pengosongan kolam biru akan dilewati.
  • BATCH_SOAK_DURATION: durasi dalam detik untuk menunggu setelah setiap pengosongan batch. Defaultnya adalah 0.
  • NODE_POOL_SOAK_DURATION: durasi dalam detik untuk menunggu setelah menyelesaikan pengosongan semua batch. Default-nya adalah 3.600 detik.

Membuat node pool dengan strategi upgrade biru-hijau

Membuat node pool dengan parameter default upgrade biru-hijau

Untuk membuat node pool di cluster yang sudah ada menggunakan strategi upgrade biru-hijau dengan parameter default, gunakan perintah berikut:

gcloud container node-pools create NODE_POOL_NAME \
    --cluster=CLUSTER_NAME \
    --enable-blue-green-upgrade

Membuat node pool dengan upgrade biru-hijau menggunakan ukuran batch jumlah node absolut

Untuk membuat node pool dengan setelan upgrade biru-hijau kustom, gunakan flag parameter dengan perintah pembuatan node pool.

Perintah ini membuat node pool dengan konfigurasi biru-hijau kustom berikut, menggunakan jumlah node absolut untuk pengosongan batch:

  • BATCH_NODE_COUNT = 2
  • BATCH_SOAK_DURATION = 10 dtk
  • NODE_POOL_SOAK_DURATION = 600 dtk
gcloud container node-pools create NODE_POOL_NAME \
    --cluster=CLUSTER_NAME \
    --enable-blue-green-upgrade \
    --standard-rollout-policy=batch-node-count=2,batch-soak-duration=10s \
    --node-pool-soak-duration=600s

Membuat node pool dengan upgrade biru-hijau menggunakan ukuran batch berbasis persentase

Perintah ini membuat node pool dengan konfigurasi biru-hijau kustom berikut, menggunakan persentase untuk pengosongan batch:

  • BATCH_PERCENTAGE = 25% (dari ukuran node pool)
  • BATCH_SOAK_DURATION = 10 dtk
  • NODE_POOL_SOAK_DURATION = 1.800 dtk
gcloud container node-pools create NODE_POOL_NAME \
    --cluster=CLUSTER_NAME \
    --enable-blue-green-upgrade \
    --standard-rollout-policy=batch-percent=0.25,batch-soak-duration=10s \
    --node-pool-soak-duration=1800s

Mengupdate strategi upgrade biru-hijau node pool yang sudah ada

Mengupdate node pool dengan parameter default upgrade biru-hijau

Untuk mengupdate node pool yang sudah ada ke strategi upgrade biru-hijau, gunakan perintah berikut:

gcloud container node-pools update NODE_POOL_NAME \
    --cluster=CLUSTER_NAME \
    --enable-blue-green-upgrade

Mengupdate node pool dengan upgrade biru-hijau menggunakan ukuran batch jumlah node absolut

Untuk mengupdate node pool yang sudah ada menjadi strategi upgrade biru-hijau dengan setelan kustom, gunakan flag parameter dengan perintah pembuatan node pool.

Perintah ini mengupdate node pool agar menggunakan konfigurasi biru-hijau kustom berikut, menggunakan jumlah node absolut untuk pengosongan batch:

  • BATCH_NODE_COUNT = 2
  • BATCH_SOAK_DURATION = 10 dtk
  • NODE_POOL_SOAK_DURATION = 600 dtk
gcloud container node-pools update NODE_POOL_NAME \
    --cluster=CLUSTER_NAME \
    --enable-blue-green-upgrade \
    --standard-rollout-policy=batch-node-count=2,batch-soak-duration=10s \
    --node-pool-soak-duration=600s

Mengupdate node pool dengan upgrade biru-hijau menggunakan ukuran batch berbasis persentase

Perintah ini membuat node pool dengan konfigurasi biru-hijau kustom berikut, menggunakan persentase untuk pengosongan batch:

  • BATCH_PERCENTAGE = 25% (dari ukuran node pool)
  • BATCH_SOAK_DURATION = 10 dtk
  • NODE_POOL_SOAK_DURATION = 1.800 dtk
gcloud container node-pools update NODE_POOL_NAME \
    --cluster=CLUSTER_NAME \
    --enable-blue-green-upgrade \
    --standard-rollout-policy=batch-percent=0.25,batch-soak-duration=10s \
    --node-pool-soak-duration=1800s

Beralih kembali ke upgrade lonjakan

Anda dapat mengubah perilaku upgrade blue-green dengan setelan, dan mengontrol proses upgrade dengan perintah.

Namun, jika Anda ingin menggunakan upgrade lonjakan, jalankan perintah berikut untuk beralih kembali ke upgrade lonjakan:

gcloud container node-pools update NODE_POOL_NAME \
    --cluster=CLUSTER_NAME \
    --enable-surge-upgrade

Memeriksa setelan upgrade node pool

Untuk memeriksa setelan upgrade node pool saat ini, Anda dapat menggunakan perintah berikut untuk mendeskripsikan node pool:

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

Cuplikan berikut adalah contoh output perintahnya. Kolom strategy menunjukkan strategi upgrade yang sedang digunakan: SURGE menunjukkan bahwa strategi upgrade lonjakan diaktifkan, dan BLUE_GREEN menunjukkan bahwa strategi upgrade biru-hijau diaktifkan.

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

Perintah ini juga menunjukkan fase saat ini dari upgrade biru-hijau yang sedang berlangsung. Pelajari lebih lanjut cara memeriksa setelan upgrade node pool.

Langkah selanjutnya