Mengupdate cluster pengguna

Topik ini menjelaskan cara mengupdate 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 versi yang lebih tinggi, Anda dapat mengupdate jenis instance EC2.

Untuk memperbarui resource ini, edit resource AWSCluster dan AWSNodePool.

Setelah Anda mengupdate konfigurasi, GKE di AWS akan menempatkan cluster atau kumpulan node ke status Updating. Setelah update selesai, cluster atau kumpulan node akan ditampilkan ke status Provisioned.

Sebelum memulai

Untuk memodifikasi cluster pengguna, cluster dan kumpulan node harus menjalankan Kubernetes versi 1.20 atau yang lebih baru. 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 dalam anthos-gke.yaml) yang mengelola GKE di cluster pengguna AWS harus memiliki izin ec2:ModifyNetworkInterfaceAttribute.

Memperbarui grup keamanan

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

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

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

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

    Edit YAML

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

    edit kubectl

    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 dari 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 untuk resource 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 Anda menggunakan perintah berikut:

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

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

    Misalnya, saat cluster berada dalam status update, 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
    

Mengupdate jenis instance

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

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

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

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

    Edit YAML

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

    edit kubectl

    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 dari 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, baca Jenis instance yang didukung.

  4. Edit kolom spec.instanceType untuk 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 Anda menggunakan perintah berikut:

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

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

    Misalnya, saat cluster berada dalam status update, 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 selanjutnya

  • Untuk mengetahui informasi lebih lanjut tentang cara mengupgrade cluster pengguna, lihat Mengupgrade GKE di AWS.