Sebagai administrator platform, Anda dapat mengonfigurasi strategi upgrade node untuk menyesuaikan cara Google Kubernetes Engine (GKE) mengupgrade node di cluster GKE Anda. Untuk mengetahui informasi selengkapnya tentang strategi upgrade node, lihat Strategi upgrade node.
Sebelum memulai
Sebelum memulai, pastikan Anda telah melakukan tugas berikut:
- Aktifkan Google Kubernetes Engine API. Aktifkan Google Kubernetes Engine API
- Jika ingin menggunakan Google Cloud CLI untuk tugas ini,
instal lalu
lakukan inisialisasi
gcloud CLI. Jika sebelumnya Anda telah menginstal gcloud CLI, dapatkan versi terbaru dengan menjalankan perintah
gcloud components update. gcloud CLI versi sebelumnya mungkin tidak mendukung menjalankan perintah dalam dokumen ini.
Persyaratan
- Untuk menggunakan upgrade biru-hijau yang diskalakan otomatis, bidang kontrol cluster harus menjalankan versi 1.34.0-gke.2201000 atau yang lebih baru, dan mengaktifkan autoscaler cluster.
Mengonfigurasi strategi upgrade node
Saat mengonfigurasi node pool Standard cluster, Anda dapat memilih dan mengonfigurasi salah satu strategi upgrade node yang didukung berikut:
Dengan strategi upgrade ini, Anda dapat mengoptimalkan proses upgrade node pool berdasarkan kebutuhan lingkungan cluster. Node pool yang dikelola Autopilot di cluster Standar menggunakan upgrade lonjakan, dan Anda tidak dapat memilih strategi lain atau mengubah konfigurasi.
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_NODESMembuat 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=1Membuat 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_NODESMengubah 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_NODESMemeriksa 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_NAMEJika upgrade lonjakan diaktifkan pada node pool, strategi yang tercantum adalah SURGE.
Mengonfigurasi upgrade biru-hijau
Dengan upgrade node pool biru-hijau, Anda dapat mengontrol:
BATCH_NODE_COUNTatauBATCH_PERCENT: ukuran batch node yang dikosongkan GKE pada satu waktu, yang berarti Pod dihapus dari node. Jumlah defaultnya adalahBATCH_NODE_COUNT=1Jika salah satu setelan ini disetel ke 0, GKE akan melewati fase ini dan melanjutkan ke fase Rendam node pool.BATCH_SOAK_DURATION: waktu di antara setiap batch node yang dikosongkan.NODE_POOL_SOAK_DURATION: jumlah waktu tunggu bagi Anda untuk memvalidasi workload pada konfigurasi node baru.
Untuk mengetahui informasi selengkapnya tentang cara kerja fase upgrade blue-green, lihat Fase upgrade blue-green.
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 node pool di setiap zona cluster.BATCH_NODE_COUNT: jumlah node biru yang akan dikosongkan dalam batch selama fase pengosongan pool biru. Jumlah defaultnya adalah 1. Jika disetel ke 0, fase pengosongan blue pool akan dilewati.BATCH_PERCENT: persentase node biru yang akan dikosongkan dalam batch selama fase pengosongan pool biru, dinyatakan sebagai desimal antara 0 dan 1, inklusif. GKE akan membulatkan ke bawah ke node terdekat, hingga nilai minimum 1 node, jika persentase bukan bilangan bulat node. Jika disetel ke 0, fase pengosongan blue pool akan dilewati.BATCH_SOAK_DURATION: durasi waktu tunggu dalam satuan detik 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 yang menggunakan strategi upgrade biru-hijau
Membuat node pool yang menggunakan parameter default upgrade biru-hijau
Untuk membuat node pool di cluster yang sudah ada yang 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 yang menggunakan upgrade biru-hijau dengan ukuran batch jumlah node absolut
Untuk membuat node pool yang menggunakan 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 yang menggunakan upgrade biru-hijau dengan 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 node pool yang sudah ada untuk menggunakan strategi upgrade biru-hijau
Mengupdate node pool untuk menggunakan upgrade biru-hijau dengan parameter default
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 untuk menggunakan upgrade biru-hijau dengan 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 untuk menggunakan upgrade biru-hijau dengan 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
Mengonfigurasi upgrade blue-green yang diskalakan otomatis
Untuk menggunakan upgrade biru-hijau yang diskalakan otomatis untuk node pool, Anda tidak perlu mengonfigurasi parameter tambahan untuk ukuran batch atau perendaman. Namun, Anda dapat mengonfigurasi jangka waktu antara mengisolasi dan menguras node. Sebelum mengaktifkan strategi upgrade ini, tinjau praktik terbaik dan batasan.
Membuat node pool yang menggunakan upgrade biru-hijau yang diskalakan otomatis
Membuat node pool dengan upgrade biru-hijau yang diskalakan otomatis diaktifkan:
gcloud container node-pools create NODE_POOL_NAME \
--cluster CLUSTER_NAME \
--enable-autoscaling \
--max-nodes=MAX_NODES \
--enable-blue-green-upgrade \
--autoscaled-rollout-policy=[wait-for-drain-duration=WAIT_FOR_DRAIN_DURATIONs]
Untuk menetapkan parameter MIN_NODE dan
MAX_NODE, lihat rekomendasi tentang cara
mengonfigurasi cluster dan kumpulan
node.
Ganti parameter WAIT_FOR_DRAIN_DURATION opsional
dengan waktu, dalam detik, untuk menunggu setelah mengisolasi kumpulan biru dan sebelum
menguras node. Anda dapat mengonfigurasi waktu ini antara nol dan tujuh hari,
dengan default tiga hari (259200 detik).
Mengupdate node pool untuk menggunakan upgrade biru-hijau yang diskalakan otomatis
Mengupdate node pool yang ada untuk menggunakan upgrade biru-hijau dengan penskalaan otomatis:
gcloud container node-pools update NODE_POOL_NAME \
--cluster CLUSTER_NAME \
--enable-blue-green-upgrade \
--autoscaled-rollout-policy=[wait-for-drain-duration=WAIT_FOR_DRAIN_DURATIONs]
Ganti parameter WAIT_FOR_DRAIN_DURATION opsional
dengan waktu, dalam detik, untuk menunggu setelah mengisolasi pool biru dan sebelum
menguras node. Anda dapat mengonfigurasi waktu ini antara nol dan tujuh hari,
dengan default tiga hari (259200 detik).
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.
BLUE_GREEN menunjukkan bahwa strategi upgrade biru-hijau diaktifkan:
- Upgrade blue-green standar diaktifkan jika output menyertakan nilai untuk
standardRolloutPolicydi bagianblueGreenSettings. - Upgrade blue-green yang diskalakan otomatis diaktifkan jika
autoscaledRolloutPolicydisebutkan.
- Upgrade blue-green standar diaktifkan jika output menyertakan nilai untuk
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 berikutnya
- Pelajari lebih lanjut strategi upgrade node.
- Pelajari cara mengupgrade node pool secara manual.