Memperbarui parameter cluster AWS

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:CreateOrUpdateTags
    • autoscaling:DeleteTags
    • ec2:CreateTags
    • ec2:DescribeLaunchTemplates
    • ec2:DescribeSecurityGroupRules
    • ec2:DeleteTags
    • elasticloadbalancing:AddTags
    • elasticloadbalancing: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:

  1. Pilih satu instance panel kontrol untuk diupdate. GKE di AWS mengupdate instance yang tidak responsif, jika ada, sebelum instance yang responsif.
  2. Buat template peluncuran baru untuk instance.
  3. Perbarui template peluncuran grup Auto Scaling.
  4. Hapus instance. AWS membuat ulang instance dan instance melakukan booting dengan konfigurasi baru.
  5. Lakukan health check pada instance baru.
  6. 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 DEGRADED dan menghentikan update. Untuk mengetahui informasi selengkapnya, lihat bagian berikut.
  7. 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 Anda
  • GOOGLE_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

  1. Di Google Cloud konsol, buka halaman Ringkasan cluster Google Kubernetes Engine.

    Buka cluster GKE

  2. Pilih project tempat cluster berada. Google Cloud

  3. Di daftar cluster, pilih nama cluster, lalu pilih Lihat detail di panel samping.

  4. 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.

  5. 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 Anda
  • GOOGLE_CLOUD_LOCATION (wajib): region yang didukung yang mengelola cluster Anda—misalnya, us-west1 Google Cloud
  • CLUSTER_VERSION: versi cluster baru yang didukung
  • USERNAME_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 detik
  • ROOT_VOLUME_SIZE: ukuran volume root, dalam Gb
  • ROOT_VOLUME_TYPE: jenis volume AWS EBS volume root
  • SECURITY_GROUP_IDS: ID grup keamanan AWS yang akan ditambahkan ke instance panel kontrol cluster
  • SECURITY_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.

  1. Buat file JSON bernama cluster_update.json dengan 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 cluster
    • CLUSTER_DESCRIPTION: deskripsi cluster baru
    • USERNAME1,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.
  2. 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:

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:

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:

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:

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:

Langkah berikutnya