Setelah membuat cluster, Anda dapat mengubah node pool-nya. Hanya parameter tertentu dari kumpulan node yang dapat diupdate, seperti ukurannya, kunci enkripsi, dan grup keamanan. Dokumen ini menjelaskan cara melakukan pembaruan umum ini dan pembaruan umum lainnya pada node pool.
Namun, dokumen ini tidak memberikan daftar lengkap perintah update.
Jika Anda perlu memperbarui parameter yang tidak dijelaskan dalam dokumen ini, lihat gcloud container aws node-pools
update
dan dokumentasi projects.locations.awsNodePools.patch
.
Sebelum memulai
Untuk memperbarui node pool, Anda harus memiliki izin Identity and Access Management berikut:
gkemulticloud.googleapis.com/awsNodePools.update
.
Untuk mengetahui petunjuk tentang cara mengelola izin, lihat Memberikan peran IAM kepada pengguna.
Memperbarui node pool
Bagian berikut menjelaskan cara melakukan berbagai pembaruan pada kumpulan node. Node pool adalah sekelompok node dalam cluster yang memiliki konfigurasi yang sama. Semua node dalam cluster harus menjadi bagian dari node pool.
Anda dapat memperbarui beberapa parameter kumpulan node secara bersamaan dengan menentukan semuanya dalam perintah yang sama. Namun, agar lebih jelas, dokumen ini menunjukkan cara memperbarui satu parameter dalam satu waktu.
Mengubah versi node pool
Di GKE di AWS, mengubah versi node pool berarti mengubah versi GKE yang berjalan di node dalam node pool tersebut.
Untuk mengubah versi node pool, tentukan versi
baru menggunakan tanda node-version
dalam perintah berikut:
gcloud container aws node-pools update NODE_POOL_NAME \
--cluster CLUSTER_NAME \
--location GOOGLE_CLOUD_LOCATION \
--node-version NODE_POOL_VERSION
Ganti kode berikut:
NODE_POOL_NAME
: nama node pool yang akan diupdate.CLUSTER_NAME
: nama cluster tempat node pool akan dilampirkan.GOOGLE_CLOUD_LOCATION
: region Google Cloud yang didukung yang mengelola cluster Anda. Contohnya,us-west1
NODE_POOL_VERSION
: versi node pool yang didukung baru.
Memperbarui jenis instance node pool
Jenis instance node pool adalah jenis instance AWS EC2 yang digunakan untuk membuat node di node pool. Misalnya, jenis instance m5.xlarge
memiliki 4 vCPU, memori 16 GB, dan penyimpanan SSD 32 GB.
Untuk mengubah jenis instance node pool, tentukan jenis instance baru
menggunakan tanda instance-type
dalam perintah berikut:
gcloud container aws node-pools update NODE_POOL_NAME \
--cluster=CLUSTER_NAME \
--location=GOOGLE_CLOUD_LOCATION \
--instance-type=INSTANCE_TYPE
Ganti kode berikut:
NODE_POOL_NAME
: nama node pool Anda.CLUSTER_NAME
: nama cluster Anda.GOOGLE_CLOUD_LOCATION
: Google Cloud region yang mengelola cluster Anda.INSTANCE_TYPE
: jenis instance mesin AWS baru untuk node pool ini. Contoh,m5.xlarge
.
Update pada jenis instance node pool tidak boleh mengubah arsitektur CPU yang mendasar dari instance EC2. Misalnya, jika kumpulan node asli Anda menggunakan instance dengan CPU x86, jenis instance yang diperbarui harus terus menggunakan CPU x86, bukan arsitektur lain.
Untuk mengetahui daftar lengkap instance yang didukung dan arsitektur dasarnya, lihat jenis instance AWS yang didukung.
Merotasi kunci enkripsi node pool
Untuk mengetahui informasi tentang cara memperbarui kunci enkripsi KMS node pool Anda, lihat Rotasi kunci.
Mengganti grup keamanan node pool
Untuk mengupdate grup keamanan yang terlampir ke node pool, jalankan perintah berikut:
gcloud container aws node-pools update NODE_POOL_NAME \
--cluster=CLUSTER_NAME \
--location=GOOGLE_CLOUD_LOCATION \
--security-group-ids=SECURITY_GROUP_IDS
Ganti kode berikut:
NODE_POOL_NAME
: nama node pool yang akan diupdate.CLUSTER_NAME
: nama cluster Anda.GOOGLE_CLOUD_LOCATION
: Google Cloud region yang mengelola cluster Anda.SECURITY_GROUP_IDS
: daftar grup keamanan yang dipisahkan koma untuk dilampirkan ke node pool.
Untuk cluster yang menjalankan GKE versi 1.25 atau yang lebih baru, update dapat dilakukan secara dinamis tanpa memulai ulang node. Ini adalah pendekatan yang direkomendasikan untuk cluster yang menggunakan GKE v1.25 atau yang lebih baru.
Untuk melakukan update dinamis, peran agen layanan API Anda harus memiliki izin AWS IAM berikut:
ec2:ModifyInstanceAttribute
ec2:DescribeInstances
Izin ini otomatis ditetapkan ke peran agen layanan API jika Anda memilih peran agen layanan API default saat membuat cluster.
Untuk cluster yang menjalankan GKE versi yang lebih lama, atau cluster yang menjalankan versi 1.25 atau yang lebih baru, tetapi agen layanan API tidak memiliki izin untuk melakukan update dinamis, update dilakukan menggunakan update bertahap. Update berkelanjutan lebih mengganggu daripada update dinamis karena update berkelanjutan memulai ulang node, sedangkan update dinamis tidak. Untuk mengetahui informasi selengkapnya tentang peluncuran update, lihat Update lonjakan.
Menghapus grup keamanan node pool
Anda dapat menghapus semua grup keamanan non-default yang terlampir ke node pool dengan menjalankan perintah berikut. Untuk mengetahui informasi selengkapnya tentang grup keamanan default, lihat Grup keamanan node pool.
gcloud container aws node-pools update NODE_POOL_NAME \
--cluster=CLUSTER_NAME \
--location=GOOGLE_CLOUD_LOCATION \
--clear-security-group-ids
Ganti kode berikut:
NODE_POOL_NAME
: nama node pool yang akan diupdate.CLUSTER_NAME
: nama cluster Anda.GOOGLE_CLOUD_LOCATION
: Google Cloud region yang mengelola cluster Anda.
Mengubah ukuran node pool
Untuk mengubah ukuran node pool (yaitu, jumlah node dalam node pool), tetapkan nilai baru ke tanda min-nodes
dan max-nodes
dalam perintah berikut:
gcloud container aws node-pools update NODE_POOL_NAME \
--cluster CLUSTER_NAME \
--location GOOGLE_CLOUD_LOCATION \
--min-nodes MIN_NODES \
--max-nodes MAX_NODES
Ganti kode berikut:
NODE_POOL_NAME
: nama node pool yang akan diupdate.CLUSTER_NAME
: nama cluster tempat node pool akan dipasang.GOOGLE_CLOUD_LOCATION
: region Google Cloud yang didukung yang mengelola cluster Anda. Contohnya,us-west1
MIN_NODES
: jumlah minimum node yang dapat dimuat node pool. Nilai dapat berupa0
atau lebih besar.MAX_NODES
: jumlah maksimum node yang dapat dimuat node pool. Nilai harus minimal1
, dan lebih besar dari atau sama dengan nilaiMIN_NODES
.
Detail lebih lanjut tentang mengubah ukuran node pool
Sebelum mengubah ukuran node pool, penting untuk mengevaluasi potensi akibatnya pada beban kerja Anda.
Tindakan mengubah ukuran dan konsekuensinya
Saat mengubah ukuran kumpulan node, berbagai tindakan dipicu berdasarkan konfigurasi baru dan status node saat ini. Penting untuk memahami tindakan ini dan implikasinya:
- Tidak ada perubahan: Jika jumlah node saat ini sudah sesuai dengan rentang baru yang ditentukan, GKE di AWS tidak akan melakukan penyesuaian pada jumlah node.
- Meningkatkan jumlah minimum: Jika jumlah minimum node baru ditetapkan lebih tinggi daripada jumlah yang ada, GKE di AWS akan menambahkan node secara bertahap hingga ukuran minimum yang baru ditentukan tercapai.
- Mengurangi jumlah maksimum: Jika Anda mengubah jumlah node maksimum ke nilai yang lebih rendah dari jumlah yang ada, GKE di AWS akan melakukan tindakan berikut:
- Menonaktifkan autoscaler cluster.
- Menetapkan grup Penskalaan Otomatis untuk node pool ke ukuran minimum yang ditentukan.
- Memilih node individual untuk dihapus. Setiap node diisolasi, tugasnya dihentikan, lalu diakhiri. Prosedur ini berlanjut hingga ukuran maksimum yang ditentukan tercapai.
- Mengubah grup Auto Scaling node pool agar sesuai dengan ukuran maksimum baru.
- Mengaktifkan kembali autoscaler cluster setelah ukuran maksimum tercapai.
Untuk mengetahui informasi selengkapnya tentang autoscaler cluster, lihat Tentang autoscaler cluster.
Perlindungan workload selama pengubahan ukuran
Untuk memastikan ketersediaan workload yang berkelanjutan selama pengubahan ukuran node pool, GKE di AWS menyediakan pengamanan berikut:
Selama pengosongan node, GKE on AWS mematuhi konfigurasi
PodDisruptionBudget
hingga satu jam. Pod yang tersisa di node setelah periode ini akan dihapus.Saat node disetel untuk dimulai ulang atau dihapus, GKE di AWS memastikan penonaktifan yang benar dan menunggu hingga dua jam. Jika Pod tetap berada di node setelah periode ini, instance virtual machine yang mendasarinya akan dihapus.
Memeriksa status node pool
Untuk memverifikasi bahwa update Anda berhasil, Anda dapat memeriksa status node pool dengan menjalankan perintah berikut:
gcloud container aws node-pools describe NODE_POOL_NAME \
--cluster CLUSTER_NAME \
--location GOOGLE_CLOUD_LOCATION
Ganti kode berikut:
NODE_POOL_NAME
: nama node pool Anda.CLUSTER_NAME
: nama cluster Anda.GOOGLE_CLOUD_LOCATION
: Google Cloud region yang mengelola cluster Anda.
GKE di AWS mencoba melakukan update yang diminta ke node pool, lalu melakukan health check. Jika salah satu langkah update gagal, status node pool akan ditandai sebagai DEGRADED
.
Membatalkan operasi pembaruan
Sebelum dapat membatalkan update node pool yang sedang berlangsung, Anda perlu menentukan nama operasi yang sedang berjalan. Untuk mencantumkan operasi yang sedang berlangsung dan nama masing-masing, jalankan perintah berikut:
gcloud container aws operations list--filter="status=PENDING OR status=RUNNING"
--location GOOGLE_CLOUD_LOCATION
Ganti GOOGLE_CLOUD_LOCATION
dengan
region Google Cloud yang didukung
yang mengelola cluster Anda. Contohnya, us-west1
Cari OPERATION_NAME
update yang ingin dibatalkan dalam output
perintah. Untuk mengetahui daftar operasi, lihat
gcloud container aws operations list.
Setelah mengidentifikasi OPERATION_NAME
, Anda dapat membatalkan
operasi dengan perintah berikut:
gcloud container aws operations cancel OPERATION_NAME
--location GOOGLE_CLOUD_LOCATION
Ganti kode berikut:
OPERATION_NAME
: nama operasi update.GOOGLE_CLOUD_LOCATION
: region Google Cloud yang didukung yang mengelola cluster Anda. Contohnya,us-west1
Perhatikan bahwa pembatalan update node pool yang sedang berlangsung tidak akan mengembalikan update node yang telah selesai. Hal ini dapat menyebabkan node pool diupdate sebagian.