Mengupdate cluster pengguna

Topik ini menjelaskan cara memperbarui konfigurasi cluster pengguna yang ada.

Ringkasan

Dengan cluster pengguna yang menjalankan Kubernetes versi 1.20 dan yang lebih tinggi, Anda dapat mengubah atribut berikut:

Dengan Kubernetes 1.22 dan yang lebih baru, Anda dapat mengupdate jenis instance EC2.

Untuk memperbarui resource ini, Anda mengedit resource AWSCluster dan AWSNodePool.

Setelah Anda memperbarui konfigurasi, GKE di AWS akan menempatkan cluster atau node pool ke dalam status Updating. Setelah update selesai, cluster atau kumpulan node akan dikembalikan ke status Provisioned.

Sebelum memulai

Untuk mengubah cluster pengguna, cluster dan node pool harus menjalankan Kubernetes versi 1.20 atau yang lebih tinggi. Jika cluster Anda tidak menjalankan Kubernetes 1.20, Upgrade cluster pengguna Anda terlebih dahulu.

Untuk mengubah grup keamanan cluster, peran IAM AWS (ditetapkan sebagai spec.authentication.awsIAM.adminIdentityARNs di anthos-gke.yaml) yang mengelola cluster pengguna GKE di AWS, harus memiliki izin ec2:ModifyNetworkInterfaceAttribute.

Memperbarui grup keamanan

Di bagian ini, Anda akan memperbarui grup keamanan untuk cluster dan node pool. Untuk memperbarui grup keamanan, lakukan langkah-langkah berikut:

  1. Dari direktori anthos-aws, gunakan anthos-gke untuk mengganti konteks ke layanan pengelolaan Anda.

    cd anthos-aws
    anthos-gke aws management get-credentials

  2. Buka file YAML yang membuat AWSCluster Anda di editor teks. Jika tidak memiliki file YAML awal, Anda dapat menggunakan kubectl edit.

    Edit YAML

    Jika Anda mengikuti petunjuk di Membuat cluster pengguna, file YAML Anda akan diberi nama cluster-0.yaml. Buka file ini di editor teks.

    kubectl edit

    Untuk menggunakan kubectl edit guna mengedit AWSCluster, jalankan perintah berikut:

    env HTTPS_PROXY=http://localhost:8118 \
      kubectl edit awscluster cluster-name
    

    Ganti cluster-name dengan AWSCluster Anda. Misalnya, untuk mengedit cluster default, cluster-0, jalankan perintah berikut:

    env HTTPS_PROXY=http://localhost:8118 \
      kubectl edit awscluster cluster-0
    
  3. Edit kolom spec.controlPlane.securityGroupIDs AWSCluster Anda.

    apiVersion: multicloud.cluster.gke.io/v1
    kind: AWSCluster
    ...
    spec:
      controlPlane:
        securityGroupIDs:
          - SECURITY_GROUP_ID
        ...
    

    Ganti SECURITY_GROUP_ID dengan ID grup keamanan baru. Untuk menambahkan beberapa grup keamanan, tambahkan nilai tambahan ke array di bagian spec.controlPlane.securityGroupIDs.

    Contoh berikut mencakup grup keamanan sg-12345678ab dan sg-abcdef1234:

    apiVersion: multicloud.cluster.gke.io/v1
    kind: AWSCluster
    spec:
      controlPlane:
        securityGroupIDs:
          - sg-12345678ab
          - sg-abcdef1234
        ...
    
  4. Edit kolom spec.securityGroupIDs dari aset AWSNodePool Anda.

    apiVersion: multicloud.cluster.gke.io/v1
    kind: AWSNodePool
    spec:
      securityGroupIDs:
        - SECURITY_GROUP_ID
      ...
    
  5. Simpan file. Jika Anda menggunakan kubectl edit, kubectl akan menerapkan perubahan secara otomatis. Jika Anda mengedit file YAML, terapkan ke layanan pengelolaan dengan perintah berikut:

    env HTTPS_PROXY=http://localhost:8118 \
      kubectl apply -f cluster-0.yaml
    
  6. Periksa status update dengan kubectl. Setelah pembaruan selesai, status objek berubah dari Updating menjadi Provisioned.

    env HTTPS_PROXY=http://localhost:8118 \
      kubectl get AWSClusters,AWSNodePools
    

    Misalnya, saat cluster dalam status memperbarui, outputnya akan terlihat seperti berikut:

    NAME        STATE       AGE      VERSION           ENDPOINT
    cluster-0   Updating    10m41s   1.25.5-gke.2100   gke-xyz.elb.us-east-1.amazonaws.com
    
    NAME               CLUSTER     STATE       AGE       VERSION
    cluster-0-pool-0   cluster-0   Updating    10m40s    1.25.5-gke.2100
    

Memperbarui jenis instance

Di bagian ini, Anda akan memperbarui jenis instance untuk cluster dan node pool. Untuk memperbarui jenis instance, lakukan langkah-langkah berikut:

  1. Dari direktori anthos-aws, gunakan anthos-gke untuk mengganti konteks ke layanan pengelolaan Anda.

    cd anthos-aws
    anthos-gke aws management get-credentials

  2. Buka file YAML yang membuat AWSCluster Anda di editor teks. Jika tidak memiliki file YAML awal, Anda dapat menggunakan kubectl edit.

    Edit YAML

    Jika Anda mengikuti petunjuk di Membuat cluster pengguna, file YAML Anda akan diberi nama cluster-0.yaml. Buka file ini di editor teks.

    kubectl edit

    Untuk menggunakan kubectl edit guna mengedit AWSCluster, jalankan perintah berikut:

    env HTTPS_PROXY=http://localhost:8118 \
      kubectl edit awscluster cluster-name
    

    Ganti cluster-name dengan AWSCluster Anda. Misalnya, untuk mengedit cluster default, cluster-0, jalankan perintah berikut:

    env HTTPS_PROXY=http://localhost:8118 \
      kubectl edit awscluster cluster-0
    
  3. Edit kolom spec.controlPlane.instanceType AWSCluster Anda.

    apiVersion: multicloud.cluster.gke.io/v1
    kind: AWSCluster
    ...
    spec:
      controlPlane:
        instanceType: AWS_INSTANCE_TYPE
        ...
    

    Ganti AWS_INSTANCE_TYPE dengan jenis instance baru. Untuk mengetahui informasi selengkapnya, lihat Jenis instance yang didukung.

  4. Edit kolom spec.instanceType dari resource AWSNodePool Anda.

    apiVersion: multicloud.cluster.gke.io/v1
    kind: AWSNodePool
    spec:
      instanceType: AWS_INSTANCE_TYPE
      ...
    
  5. Simpan file. Jika Anda menggunakan kubectl edit, kubectl akan menerapkan perubahan secara otomatis. Jika Anda mengedit file YAML, terapkan ke layanan pengelolaan dengan perintah berikut:

    env HTTPS_PROXY=http://localhost:8118 \
      kubectl apply -f cluster-0.yaml
    
  6. Periksa status update dengan kubectl. Setelah pembaruan selesai, status objek berubah dari Updating menjadi Provisioned.

    env HTTPS_PROXY=http://localhost:8118 \
      kubectl get AWSClusters,AWSNodePools
    

    Misalnya, saat cluster dalam status memperbarui, outputnya akan terlihat seperti berikut:

    NAME        STATE       AGE      VERSION           ENDPOINT
    cluster-0   Updating    10m41s   1.25.5-gke.2100   gke-xyz.elb.us-east-1.amazonaws.com
    
    NAME               CLUSTER     STATE       AGE       VERSION
    cluster-0-pool-0   cluster-0   Updating    10m40s    1.25.5-gke.2100
    

Langkah berikutnya