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
atauBATCH_PERCENT
: ukuran batch node yang dihabiskan GKE pada satu waktu, yang berarti Pod akan dihapus dari node. Jumlah defaultnya adalahBATCH_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
= 2BATCH_SOAK_DURATION
= 10 dtkNODE_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 dtkNODE_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
= 2BATCH_SOAK_DURATION
= 10 dtkNODE_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 dtkNODE_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
- Pelajari strategi upgrade node lebih lanjut.
- Pelajari cara mengupgrade node pool secara manual.