Memperbarui parameter cluster AWS

Halaman ini menjelaskan cara mengupdate GKE pada setelan cluster AWS. Anda dapat menggunakan petunjuk ini untuk memperbarui setelan yang dapat diperbarui di cluster, termasuk versi Kubernetes. Karena mengupgrade versi merupakan salah satu operasi update cluster yang paling umum, halaman upgrade cluster Anda yang terpisah akan membahas cara mengupgrade versi cluster.

Alasan mengupdate cluster

Anda dapat mengupdate cluster karena salah satu alasan berikut:

  • Untuk memperbarui deskripsi cluster Anda.
  • Untuk mengupdate anotasi cluster Anda.
  • Untuk memperbarui daftar pengguna administratif cluster Anda.
  • Untuk mengupdate konfigurasi logging cluster Anda.
  • Untuk merotasi kunci enkripsi Anda.
  • Untuk mengupdate grup keamanan bidang kontrol cluster Anda.

Anda juga dapat memperbarui kolom lain dalam cluster Anda yang tidak tercantum di sini. Untuk daftar lengkap kolom yang dapat Anda perbarui, lihat dokumentasi gcloud container aws clusters update dan projects.locations.awsClusters.patch.

Prasyarat

  • Untuk memperbarui salah satu kolom cluster, Anda harus memiliki izin Pengelolaan Akses dan Identitas gkemulticloud.googleapis.com/awsClusters.update.

  • Untuk mengupdate grup keamanan cluster Anda, peran bidang kontrol cluster Anda harus memiliki izin ec2:ModifyNetworkInterfaceAttribute. Untuk mengetahui informasi selengkapnya, lihat Membuat peran bidang kontrol.

  • Selain itu, untuk memperbarui tag cluster, peran API cluster Anda harus memiliki izin AWS berikut:

    • autoscaling:CreateOrUpdateTags
    • autoscaling:DeleteTags
    • ec2:CreateTags
    • ec2:DescribeLaunchTemplates
    • ec2:DescribeSecurityGroupRules
    • ec2:DeleteTags
    • elasticloadbalancing:AddTags
    • elasticloadbalancing:RemoveTags

    Baca artikel Membuat peran IAM AWS untuk mempelajari cara membuat dan menambahkan izin ke peran API cluster Anda.

Proses pembaruan

Proses yang digunakan GKE di AWS untuk 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 akan langsung membuat perubahan ini.

Perubahan lainnya memerlukan pengaktifan ulang node bidang kontrol—misalnya, update versi Kubernetes. Untuk update semacam ini, GKE di AWS akan melakukan "update berkelanjutan" yang terdiri dari langkah-langkah berikut:

  1. Pilih satu instance bidang kontrol untuk diperbarui. GKE di AWS memperbarui instance yang tidak responsif, jika ada, sebelum instance yang responsif.
  2. Buat template peluncuran baru untuk instance tersebut.
  3. Update template peluncuran grup Auto Scaling.
  4. Menghapus instance. AWS membuat ulang instance dan instance akan 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 pada instance tersebut. Ulangi siklus ini sampai semua instance dimulai ulang atau dibuat ulang. Jika health check gagal, GKE di AWS akan menempatkan cluster pada status DEGRADED dan menghentikan update. Untuk mengetahui informasi selengkapnya, lihat bagian berikut.
  7. Hapus template peluncuran asli.

Jika update gagal

Setelah diupdate, GKE di AWS akan 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 Google Cloud yang mengelola cluster Anda

Mengupdate cluster

Anda dapat menggunakan konsol Google Cloud, Google Cloud CLI, atau GKE Multi-Cloud API untuk memperbarui beberapa kolom cluster sekaligus.

Memilih metode pembaruan

Anda dapat memperbarui sebagian besar kolom melalui konsol, gcloud CLI, atau GKE Multi-Cloud API. Beberapa {i>field<i} hanya dapat diperbarui melalui satu mekanisme atau mekanisme lainnya. Jika ingin menggunakan konsol untuk mengupdate cluster, Anda harus terlebih dahulu memilih dan mengonfigurasi metode autentikasi untuk login ke cluster. Untuk mengetahui informasi lebih lanjut, baca bagian Menghubungkan dan melakukan autentikasi ke cluster.

Konsol

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

    Buka cluster GKE

  2. Pilih project Google Cloud tempat cluster berada.

  3. Dalam daftar cluster, pilih nama cluster, lalu pilih View details di panel samping.

  4. Di tab Details, 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 kolom CLUSTER_NAME dan GOOGLE_CLOUD_LOCATION, yang memberi tahu GKE di AWS tentang cluster yang akan diupdate. Dalam perintah berikut, hanya sertakan kolom yang ingin diperbarui; 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 Google Cloud yang didukung yang mengelola cluster Anda—misalnya, us-west1
  • 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 beri hak istimewa administratif di cluster ini. Nama-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 EBS AWS volume root
  • SECURITY_GROUP_IDS: ID grup keamanan AWS yang akan ditambahkan ke instance bidang kontrol cluster
  • SECURITY_GROUP_IDS: ID grup keamanan AWS yang akan ditambahkan ke instance bidang kontrol cluster

API

Saat mengupdate cluster menggunakan GKE Multi-Cloud API, Anda harus selalu menyertakan kolom CLUSTER_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 diperbarui. Hanya sertakan kolom yang ingin Anda perbarui di file JSON dan UPDATE_MASK.

Contoh berikut menunjukkan cara mengupdate cluster melalui API. Untuk mengetahui informasi selengkapnya, termasuk daftar kolom yang dapat diperbarui, lihat dokumentasi metode projects.locations.awsClusters.patch.

  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. Perlu diperhatikan bahwa Anda harus mengupgrade semua versi minor saat mengupgrade cluster
    • CLUSTER_DESCRIPTION: deskripsi cluster baru
    • USERNAME1,USERNAME2,USERNAME3: alamat email pengguna yang Anda beri hak istimewa administratif di cluster ini. Nama-nama di 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:

  • ENDPOINT (wajib): Endpoint layanan Google Cloud Anda
  • PROJECT_ID (wajib diisi): Project Google Cloud Anda
  • GOOGLE_CLOUD_LOCATION (wajib): region Google Cloud yang didukung yang mengelola cluster Anda—misalnya, us-west1
  • CLUSTER_NAME (wajib diisi): Nama cluster Anda
  • UPDATE_MASK (wajib): daftar yang dipisahkan koma yang berisi satu atau beberapa tanda berikut, menunjukkan kolom yang ingin diperbarui. Dalam contoh ini, tentukan hal berikut.
    • controlPlane.version
    • deskripsi
    • authorization.admin_users

Memperbarui grup keamanan cluster Anda

Untuk mengupdate grup keamanan cluster Anda, peran bidang kontrol cluster Anda harus memiliki izin ec2:ModifyNetworkInterfaceAttribute. Untuk mengetahui informasi selengkapnya, lihat Membuat peran bidang kontrol.

Anda dapat menggunakan perintah gcloud container aws clusters update untuk menambahkan grup keamanan tambahan ke bidang 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 Anda
  • GOOGLE_CLOUD_LOCATION: region Google Cloud yang didukung yang mengelola cluster Anda—misalnya, us-west1
  • SECURITY_GROUP_IDS: ID grup keamanan AWS yang akan ditambahkan ke instance bidang kontrol cluster

Hapus 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:

Memperbarui informasi volume cluster

Anda dapat memperbarui volume bidang kontrol cluster dengan Google Cloud CLI. Untuk memperbarui kunci KMS volume, lihat Rotasi kunci.

Untuk memperbarui ukuran volume, jenis, atau IOPS, 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 Anda
  • GOOGLE_CLOUD_LOCATION: region Google Cloud yang didukung yang mengelola cluster Anda—misalnya, us-west1
  • ROOT_VOLUME_IOPS: operasi IO volume root per detik
  • ROOT_VOLUME_SIZE: ukuran volume root, dalam Gb
  • ROOT_VOLUME_TYPE: jenis volume EBS AWS volume root.

Mengupdate 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 Anda
  • GOOGLE_CLOUD_LOCATION: region Google Cloud yang didukung yang mengelola cluster Anda—misalnya, us-west1
  • LOGGING_CONFIG: [SYSTEM] atau [SYSTEM,WORKLOAD]

Langkah selanjutnya