Setelah membuat cluster, Anda dapat mengubah kumpulan node-nya. Hanya parameter tertentu dari kumpulan node yang dapat diupdate, seperti ukuran, kunci enkripsi, dan grup keamanannya. Dokumen ini menjelaskan cara melakukan update ini dan update umum lainnya pada kumpulan node.
Namun, dokumen ini tidak menyediakan 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 mengupdate kumpulan node, Anda harus memiliki izin Identity and Access Management berikut:
gkemulticloud.googleapis.com/awsNodePools.update
.
Untuk mengetahui petunjuk cara mengelola izin, lihat Memberikan peran IAM kepada pengguna.
Memperbarui node pool
Bagian berikut menjelaskan cara melakukan berbagai update pada kumpulan node. Kumpulan node adalah sekelompok node di dalam cluster yang memiliki konfigurasi yang sama. Semua node dalam cluster harus termasuk dalam kumpulan node.
Anda dapat memperbarui beberapa parameter kumpulan node secara bersamaan dengan menentukan semuanya dalam perintah yang sama. Namun, agar lebih jelas, dokumen ini menunjukkan cara mengupdate parameter tunggal pada satu waktu.
Mengubah versi kumpulan node
Di GKE di AWS, mengubah versi node pool berarti mengubah versi GKE yang berjalan di node dalam node pool tersebut.
Untuk mengubah versi kumpulan node, tentukan versi baru menggunakan flag 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 yang akan ditambahi kumpulan node.GOOGLE_CLOUD_LOCATION
: region Google Cloud yang didukung yang mengelola cluster Anda. Misalnya,us-west1
.NODE_POOL_VERSION
: versi baru kumpulan node yang didukung.
Mengupdate jenis instance kumpulan node
Jenis instance kumpulan node adalah jenis instance AWS EC2 yang digunakan untuk membuat node dalam kumpulan node. Misalnya, jenis instance m5.xlarge
memiliki 4 vCPU, memori 16 GB, dan penyimpanan SSD 32 GB.
Untuk mengubah jenis instance kumpulan node, tentukan jenis instance baru menggunakan flag 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
: region Google Cloud yang mengelola cluster Anda.INSTANCE_TYPE
: jenis instance mesin AWS baru untuk kumpulan node ini. Contoh,m5.xlarge
.
Update untuk jenis instance kumpulan node tidak boleh mengubah arsitektur CPU dasar instance EC2. Misalnya, jika kumpulan node asli Anda menggunakan instance dengan CPU x86, jenis instance yang telah diupdate harus terus menggunakan CPU x86, bukan arsitektur lainnya.
Untuk mengetahui daftar lengkap instance yang didukung dan arsitektur yang mendasarinya, baca jenis instance AWS yang didukung.
Merotasi kunci enkripsi kumpulan node
Untuk mengetahui informasi tentang cara mengupdate kunci enkripsi KMS kumpulan node Anda, lihat Rotasi kunci.
Ganti grup keamanan kumpulan node
Untuk mengupdate grup keamanan yang terpasang ke kumpulan node, 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
: region Google Cloud yang mengelola cluster Anda.SECURITY_GROUP_IDS
: daftar grup keamanan yang dipisahkan koma untuk dilampirkan ke kumpulan node.
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 menjalankan update dinamis, peran agen layanan API Anda harus memiliki izin IAM AWS berikut:
ec2:ModifyInstanceAttribute
ec2:DescribeInstances
Izin ini secara otomatis ditetapkan ke peran agen layanan API jika Anda memilih peran agen layanan API default saat membuat cluster.
Untuk cluster yang menjalankan GKE versi sebelumnya, 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 berkelanjutan. Update berkelanjutan lebih mengganggu daripada update dinamis karena update berkelanjutan akan memulai ulang node, sedangkan update dinamis tidak. Untuk informasi selengkapnya tentang update berkelanjutan, lihat Meminta update.
Hapus grup keamanan kumpulan node
Anda dapat menghapus semua grup keamanan non-default yang disertakan pada kumpulan node dengan menjalankan perintah berikut. Untuk mengetahui informasi lebih lanjut mengenai grup keamanan default, baca Grup keamanan kumpulan node.
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
: region Google Cloud yang mengelola cluster Anda.
Mengubah ukuran node pool
Untuk mengubah ukuran kumpulan node (yaitu, jumlah node dalam kumpulan node), 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 yang akan ditambahi kumpulan node.GOOGLE_CLOUD_LOCATION
: region Google Cloud yang didukung yang mengelola cluster Anda. Misalnya,us-west1
.MIN_NODES
: jumlah minimum node yang dapat dimuat kumpulan node. Nilai dapat berupa0
atau lebih besar.MAX_NODES
: jumlah maksimum node yang dapat dimuat kumpulan node. Nilai harus minimal1
, dan lebih besar dari atau sama dengan nilaiMIN_NODES
.
Detail lebih lanjut tentang mengubah ukuran kumpulan node
Sebelum mengubah ukuran kumpulan node, Anda perlu mengevaluasi potensi dampaknya terhadap workload Anda.
Mengubah ukuran tindakan dan konsekuensinya
Saat mengubah ukuran kumpulan node, berbagai tindakan akan 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 selaras dengan rentang yang baru 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 ditetapkan tercapai.
- Menurunkan 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 penskala otomatis cluster.
- Menetapkan grup Auto Scaling untuk kumpulan node ke ukuran minimum yang ditentukan.
- Memilih node satu per satu untuk dihapus. Setiap {i>node<i} ditutup, dihabiskan dari tugasnya, lalu dihentikan. Prosedur ini berlanjut hingga ukuran maksimum yang ditentukan tercapai.
- Mengubah grup Penskalaan Otomatis kumpulan node agar selaras dengan ukuran maksimum yang baru.
- Mengaktifkan kembali penskala otomatis cluster setelah ukuran maksimum tercapai.
Untuk mengetahui informasi selengkapnya tentang penskala otomatis cluster, lihat Tentang penskalaan otomatis cluster.
Perlindungan workload selama pengubahan ukuran
Untuk memastikan ketersediaan workload yang berkelanjutan selama pengubahan ukuran node pool, GKE di AWS memberikan pengamanan berikut:
Selama pengurasan node, GKE di AWS akan mengikuti 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 akan memastikan penonaktifannya secara halus dan menunggu hingga dua jam. Jika Pod tetap berada di node setelah periode ini, instance virtual machine yang mendasarinya akan dihapus.
Memeriksa status kumpulan node Anda
Untuk memverifikasi bahwa update berhasil, Anda dapat memeriksa status kumpulan node 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
: region Google Cloud yang mengelola cluster Anda.
GKE di AWS mencoba melakukan update yang diminta pada kumpulan node, lalu melakukan health check. Jika salah satu langkah update gagal, status kumpulan node
akan ditandai sebagai DEGRADED
.
Membatalkan operasi update
Sebelum membatalkan update kumpulan node yang sedang berlangsung, Anda perlu menentukan nama operasi yang sedang berlangsung. Untuk menampilkan operasi yang sedang berlangsung dan namanya 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. Misalnya, us-west1
.
Cari OPERATION_NAME
update yang ingin Anda batalkan 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. Misalnya,us-west1
.
Perlu diperhatikan bahwa membatalkan update node pool yang sedang berlangsung tidak akan mengembalikan update node yang telah selesai. Hal ini dapat menghasilkan kumpulan node yang diperbarui sebagian.