Halaman ini menjelaskan cara memperbarui setelan cluster GKE di AWS. Anda dapat menggunakan petunjuk ini untuk memperbarui setelan apa pun yang dapat diperbarui di cluster Anda, termasuk versi Kubernetes. Karena mengupgrade versi adalah salah satu operasi update cluster yang paling umum, halaman terpisah Mengupgrade cluster Anda membahas cara mengupgrade versi cluster.
Alasan untuk mengupdate cluster
Anda dapat mengupdate cluster karena salah satu alasan berikut:
- Untuk memperbarui deskripsi cluster Anda.
- Untuk memperbarui anotasi cluster Anda.
- Untuk memperbarui daftar pengguna administratif cluster Anda.
- Untuk memperbarui konfigurasi logging cluster Anda.
- Untuk merotasi kunci enkripsi Anda.
- Untuk memperbarui grup keamanan panel kontrol cluster Anda.
Anda juga dapat memperbarui kolom lain di cluster yang tidak tercantum di sini.
Untuk daftar lengkap kolom yang dapat Anda perbarui, lihat
gcloud container aws clusters update
dan
projects.locations.awsClusters.patch
dokumentasi.
Prasyarat
Untuk memperbarui kolom cluster, Anda harus memiliki izin Identity and Access Management
gkemulticloud.googleapis.com/awsClusters.update.Untuk memperbarui grup keamanan cluster, peran panel kontrol cluster harus memiliki izin
ec2:ModifyNetworkInterfaceAttribute. Untuk mengetahui informasi selengkapnya, lihat Membuat peran panel kontrol.Selain itu, untuk memperbarui tag cluster, peran API cluster harus memiliki izin AWS berikut:
autoscaling:CreateOrUpdateTagsautoscaling:DeleteTagsec2:CreateTagsec2:DescribeLaunchTemplatesec2:DescribeSecurityGroupRulesec2:DeleteTagselasticloadbalancing:AddTagselasticloadbalancing:RemoveTags
Baca Membuat peran IAM AWS untuk mempelajari cara membuat dan menambahkan izin ke peran API cluster Anda.
Proses update
Proses GKE di AWS mengupdate cluster berbeda-beda bergantung pada jenis update. Untuk beberapa perubahan, GKE di AWS dapat mengupdate cluster tanpa memulai ulang atau membuat ulang resource apa pun—misalnya, memperbarui deskripsi cluster. GKE di AWS segera melakukan perubahan ini.
Perubahan lain memerlukan memulai ulang node panel kontrol—misalnya, memperbarui versi Kubernetes. Untuk update tersebut, GKE di AWS melakukan "rolling update" yang terdiri dari langkah-langkah berikut:
- Pilih satu instance panel kontrol untuk diupdate. GKE di AWS mengupdate instance yang tidak responsif, jika ada, sebelum instance yang responsif.
- Buat template peluncuran baru untuk instance.
- Perbarui template peluncuran grup Auto Scaling.
- Hapus instance. AWS membuat ulang instance dan instance melakukan booting dengan konfigurasi baru.
- Lakukan health check pada instance baru.
- Jika health check berhasil, pilih instance lain dan lakukan langkah yang sama
Ulangi siklus ini hingga semua instance
dimulai ulang atau dibuat ulang. Jika health check gagal, GKE di AWS
menempatkan cluster ke status
DEGRADEDdan menghentikan update. Untuk mengetahui informasi selengkapnya, lihat bagian berikut. - Hapus template peluncuran asli.
Jika update gagal
Setelah update, GKE di AWS melakukan health check pada cluster.
Jika health check gagal, cluster akan ditandai sebagai DEGRADED. Anda dapat menampilkan status cluster dengan perintah Google Cloud CLI berikut:
gcloud container aws clusters describe CLUSTER_NAME \
--location=GOOGLE_CLOUD_LOCATION
Ganti kode berikut:
CLUSTER_NAME: nama cluster AndaGOOGLE_CLOUD_LOCATION: region yang Google Cloud mengelola cluster Anda
Mengupdate cluster
Anda dapat menggunakan Google Cloud konsol, Google Cloud CLI, atau GKE Multi-Cloud API untuk memperbarui beberapa kolom cluster sekaligus.
Memilih metode update
Anda dapat memperbarui sebagian besar kolom melalui konsol, gcloud CLI, atau GKE Multi-Cloud API. Beberapa kolom hanya dapat diperbarui melalui satu mekanisme. Jika ingin menggunakan konsol untuk mengupdate cluster, Anda harus memilih dan mengonfigurasi metode autentikasi untuk login ke cluster terlebih dahulu. Untuk mengetahui informasi selengkapnya, lihat Menghubungkan dan melakukan autentikasi ke cluster Anda.
Konsol
Di Google Cloud konsol, buka halaman Ringkasan cluster Google Kubernetes Engine.
Pilih project tempat cluster berada. Google Cloud
Di daftar cluster, pilih nama cluster, lalu pilih Lihat detail di panel samping.
Di tab Detail, pilih Edit di kolom yang ingin Anda ubah.
Misalnya, untuk memberikan hak istimewa administratif cluster kepada pengguna lain pilih Edit di samping Pengguna admin , lalu masukkan alamat email pengguna.
Setelah selesai melakukan perubahan, pilih Selesai.
gcloud
Saat mengupdate cluster menggunakan gcloud CLI, Anda harus selalu menyertakan kolomCLUSTER_NAME dan GOOGLE_CLOUD_LOCATION, yang memberi tahu GKE di AWS cluster mana yang akan diupdate. Dalam perintah berikut, hanya sertakan kolom yang ingin Anda perbarui; hapus kolom lainnya sebelum menjalankan perintah.
gcloud container aws clusters update CLUSTER_NAME \
--location=GOOGLE_CLOUD_LOCATION \
--cluster-version=CLUSTER_VERSION \
--admin-users=USERNAME_LIST \
--root-volume-iops=ROOT_VOLUME_IOPS \
--root-volume-size=ROOT_VOLUME_SIZE \
--root-volume-type=ROOT_VOLUME_TYPE \
--security-group-ids=SECURITY_GROUP_IDS
Ganti kode berikut:
CLUSTER_NAME: nama cluster AndaGOOGLE_CLOUD_LOCATION(wajib): region yang didukung yang mengelola cluster Anda—misalnya,us-west1Google CloudCLUSTER_VERSION: versi cluster baru yang didukungUSERNAME_LIST: daftar nama pengguna yang dipisahkan koma, misalnya, "kai@example.com,hao@example.com,kalani@example.com". Ini adalah alamat email pengguna yang Anda berikan hak istimewa administratif di cluster ini. Nama dalam setelan ini akan menggantikan daftar pengguna admin sebelumnya di cluster.ROOT_VOLUME_IOPS: operasi I/O maksimum volume root per detikROOT_VOLUME_SIZE: ukuran volume root, dalam GbROOT_VOLUME_TYPE: jenis volume AWS EBS volume rootSECURITY_GROUP_IDS: ID grup keamanan AWS yang akan ditambahkan ke instance panel kontrol clusterSECURITY_GROUP_IDS: ID grup keamanan AWS yang akan ditambahkan ke instance panel kontrol cluster
API
Saat mengupdate cluster menggunakan GKE Multi-Cloud API, Anda harus selalu menyertakan kolomCLUSTER_NAME dan GOOGLE_CLOUD_LOCATION dalam permintaan HTTP. Kolom ini memberi tahu GKE di AWS cluster mana yang akan diupdate. Anda juga harus menyertakan endpoint API dalam permintaan. Anda membuat file JSON dengan kolom yang ingin Anda perbarui. Hanya sertakan kolom yang ingin Anda perbarui dalam file JSON dan di UPDATE_MASK.
Contoh berikut menunjukkan cara mengupdate cluster melalui API.
Untuk mengetahui informasi selengkapnya, termasuk daftar kolom yang dapat Anda perbarui, lihat
dokumentasi
projects.locations.awsClusters.patch
metode.
Buat file JSON bernama
cluster_update.jsondengan kolom yang ingin Anda perbarui.{ "controlPlane": { "version": "CLUSTER_VERSION", }, "description": "CLUSTER_DESCRIPTION", "authorization": { "adminUsers": [ { "username": USERNAME1, "username": USERNAME2, "username": USERNAME3 } ] } }Ganti kode berikut:
CLUSTER_VERSION: versi cluster baru yang didukung. Perhatikan bahwa Anda harus mengupgrade melalui semua versi minor saat mengupgrade clusterCLUSTER_DESCRIPTION: deskripsi cluster baruUSERNAME1,USERNAME2,USERNAME3: alamat email pengguna yang Anda berikan hak istimewa administratif di cluster ini. Nama dalam kolom ini akan menggantikan daftar pengguna admin sebelumnya di cluster.
Perbarui setelan ini melalui GKE Multi-Cloud API dengan perintah berikut.
curl -d @cluster_update.json -X PATCH \ ENDPOINT/projects/PROJECT_ID/locations/GOOGLE_CLOUD_LOCATION/awsClusters/CLUSTER_NAME?update_mask=UPDATE_MASK
Ganti kode berikut:
ENDPOINT(wajib): Endpoint layanan Anda Google CloudPROJECT_ID(wajib): Project Google Cloud AndaGOOGLE_CLOUD_LOCATION(wajib): region yang didukung yang mengelola cluster Anda—misalnya,us-west1Google CloudCLUSTER_NAME(wajib): Nama cluster AndaUPDATE_MASK(wajib): daftar yang dipisahkan koma dari satu atau beberapa flag berikut, yang menunjukkan kolom yang ingin Anda perbarui. Dalam contoh ini, tentukan hal berikut.- controlPlane.version
- description
- authorization.admin_users
Memperbarui grup keamanan cluster
Untuk memperbarui grup keamanan cluster, peran panel kontrol cluster harus memiliki izin ec2:ModifyNetworkInterfaceAttribute. Untuk mengetahui informasi selengkapnya,
lihat
Membuat peran panel kontrol.
Anda dapat menggunakan perintah gcloud container aws clusters update untuk menambahkan grup keamanan tambahan ke panel kontrol cluster.
gcloud container aws clusters update CLUSTER_NAME \
--location=GOOGLE_CLOUD_LOCATION \
--security-group-ids=SECURITY_GROUP_IDS
Ganti kode berikut:
CLUSTER_NAME: nama cluster AndaGOOGLE_CLOUD_LOCATION: region yang didukung Google Cloud yang mengelola cluster Anda—misalnya,us-west1SECURITY_GROUP_IDS: ID grup keamanan AWS yang akan ditambahkan ke instance panel kontrol cluster
Menghapus grup keamanan cluster
Anda dapat menghapus semua grup keamanan non-default dari cluster dengan Google Cloud CLI. Untuk mengupdate cluster, jalankan:
gcloud container aws clusters update CLUSTER_NAME \
--location=GOOGLE_CLOUD_LOCATION \
--clear-security-group-ids
Ganti kode berikut:
CLUSTER_NAME: nama cluster AndaGOOGLE_CLOUD_LOCATION: region yang didukung Google Cloud yang mengelola cluster Anda—misalnya,us-west1
Memperbarui informasi volume cluster
Anda dapat memperbarui volume panel kontrol cluster dengan Google Cloud CLI. Untuk memperbarui kunci KMS volume, lihat Rotasi kunci.
Untuk memperbarui ukuran, jenis, atau IOPS volume, jalankan perintah berikut:
gcloud container aws clusters update CLUSTER_NAME \
--location=GOOGLE_CLOUD_LOCATION \
--root-volume-iops=ROOT_VOLUME_IOPS
--root-volume-size=ROOT_VOLUME_SIZE
--root-volume-type=ROOT_VOLUME_TYPE
Ganti kode berikut:
CLUSTER_NAME: nama cluster AndaGOOGLE_CLOUD_LOCATION: region yang didukung Google Cloud yang mengelola cluster Anda—misalnya,us-west1ROOT_VOLUME_IOPS: operasi I/O volume root per detikROOT_VOLUME_SIZE: ukuran volume root, dalam GbROOT_VOLUME_TYPE: jenis volume AWS EBS volume root.
Memperbarui Konfigurasi Logging
Anda dapat memperbarui setelan konfigurasi Cloud Logging cluster dengan Google Cloud CLI. Untuk memperbarui konfigurasi logging, jalankan perintah berikut:
gcloud container aws clusters update CLUSTER_NAME \
--location=GOOGLE_CLOUD_LOCATION \
--logging=LOGGING_CONFIG \
Ganti kode berikut:
CLUSTER_NAME: nama cluster AndaGOOGLE_CLOUD_LOCATION: region yang didukung Google Cloud yang mengelola cluster Anda—misalnya,us-west1LOGGING_CONFIG: [SYSTEM] atau [SYSTEM,WORKLOAD]
Langkah berikutnya
- Untuk memperbarui kunci KMS volume, lihat Rotasi kunci
- Untuk mengetahui informasi selengkapnya tentang kolom yang dapat diperbarui, lihat
gcloud container aws clusters updatedokumentasi referensi. - Lihat
projects.locations.awsClusters.patchdokumentasi REST API.