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 mengupdate deskripsi cluster Anda.
- Untuk mengupdate anotasi cluster Anda.
- Untuk mengupdate daftar pengguna administratif cluster Anda.
- Untuk mengupdate konfigurasi logging cluster Anda.
- Untuk merotasi kunci enkripsi Anda.
- Untuk mengupdate grup keamanan panel kontrol cluster Anda.
Anda juga dapat mengupdate kolom lain di cluster Anda yang tidak tercantum di sini.
Untuk daftar lengkap kolom yang dapat Anda update, lihat
gcloud container aws clusters update
dan
projects.locations.awsClusters.patch
dokumentasi.
Prasyarat
Untuk mengupdate kolom cluster Anda, Anda harus memiliki izin Identity and Access Management
gkemulticloud.googleapis.com/awsClusters.update.Untuk mengupdate grup keamanan cluster Anda, peran panel kontrol cluster Anda harus memiliki izin
ec2:ModifyNetworkInterfaceAttribute. Untuk mengetahui informasi selengkapnya, lihat Membuat peran panel kontrol.Selain itu, untuk mengupdate tag cluster Anda, peran API cluster Anda 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, mengupdate deskripsi cluster. GKE di AWS segera melakukan perubahan ini.
Perubahan lainnya memerlukan memulai ulang node panel kontrol—misalnya, mengupdate 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 mengupdate beberapa kolom cluster sekaligus.
Memilih metode update
Anda dapat mengupdate sebagian besar kolom melalui konsol, gcloud CLI, atau GKE Multi-Cloud API. Beberapa kolom hanya dapat diupdate melalui satu mekanisme atau yang lain. 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 dan 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 update; 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 diupdate. Hanya sertakan kolom yang ingin Anda update dalam file JSON dan di UPDATE_MASK.
Contoh berikut menunjukkan cara mengupdate cluster Anda melalui API.
Untuk mengetahui informasi selengkapnya, termasuk daftar kolom yang dapat Anda update, lihat
dokumentasi
projects.locations.awsClusters.patch
metode.
Buat file JSON bernama
cluster_update.jsondengan kolom yang ingin Anda update.{ "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 update. Dalam contoh ini, tentukan hal berikut.- controlPlane.version
- description
- authorization.admin_users
Mengupdate grup keamanan cluster Anda
Untuk mengupdate grup keamanan cluster Anda, peran panel kontrol cluster Anda 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 Anda.
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 Anda 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
Mengupdate informasi volume cluster
Anda dapat mengupdate volume panel kontrol cluster Anda dengan Google Cloud CLI. Untuk mengupdate kunci KMS volume, lihat Rotasi kunci.
Untuk mengupdate 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.
Mengupdate Konfigurasi Logging
Anda dapat mengupdate setelan konfigurasi Cloud Logging cluster Anda dengan Google Cloud CLI. Untuk mengupdate 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 mengupdate kunci KMS volume, lihat Rotasi kunci
- Untuk mengetahui informasi selengkapnya tentang kolom yang dapat diupdate, lihat
gcloud container aws clusters updatedokumentasi referensi. - Lihat
projects.locations.awsClusters.patchdokumentasi REST API.