

 **Bantu tingkatkan halaman ini** 

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Untuk berkontribusi pada panduan pengguna ini, pilih **Edit halaman ini pada GitHub** tautan yang terletak di panel kanan setiap halaman.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Perbarui Amazon VPC CNI (add-on Amazon EKS)
<a name="vpc-add-on-update"></a>

Perbarui jenis Amazon EKS dari plugin Amazon VPC CNI untuk add-on Kubernetes. Jika Anda belum menambahkan jenis add-on Amazon EKS ke cluster Anda, Anda dapat menginstalnya dengan mengikuti[Buat Amazon VPC CNI (add-on Amazon EKS)](vpc-add-on-create.md). Atau, perbarui jenis instalasi VPC CNI lainnya dengan mengikuti. [Perbarui Amazon VPC CNI (add-on yang dikelola sendiri)](vpc-add-on-self-managed-update.md)

1. Lihat versi add-on mana yang diinstal pada cluster Anda. Ganti {{my-cluster}} dengan nama klaster Anda.

   ```
   aws eks describe-addon --cluster-name my-cluster --addon-name vpc-cni --query "addon.addonVersion" --output text
   ```

   Contoh output adalah sebagai berikut.

   ```
   v1.20.0-eksbuild.1
   ```

   Bandingkan versi dengan tabel versi terbaru di[Versi Amazon VPC CNI](managing-vpc-cni.md#vpc-cni-latest-available-version). Jika versi yang dikembalikan sama dengan versi untuk versi Kubernetes cluster Anda di tabel versi terbaru, maka Anda sudah menginstal versi terbaru di cluster Anda dan tidak perlu menyelesaikan sisa prosedur ini. Jika Anda menerima kesalahan, alih-alih nomor versi dalam output Anda, maka Anda tidak memiliki jenis add-on Amazon EKS yang diinstal pada cluster Anda. Anda perlu membuat add-on sebelum Anda dapat memperbaruinya dengan prosedur ini. Untuk membuat jenis Amazon EKS dari add-on VPC CNI, Anda dapat mengikuti. [Buat Amazon VPC CNI (add-on Amazon EKS)](vpc-add-on-create.md)

1. Simpan konfigurasi add-on yang Anda instal saat ini.

   ```
   kubectl get daemonset aws-node -n kube-system -o yaml > aws-k8s-cni-old.yaml
   ```

1. Perbarui add-on Anda menggunakan AWS CLI. Jika Anda ingin menggunakan Konsol Manajemen AWS atau `eksctl` memperbarui add-on, lihat[Perbarui add-on Amazon EKS](updating-an-add-on.md). Salin perintah yang mengikuti ke perangkat Anda. Buat modifikasi berikut pada perintah, sesuai kebutuhan, dan kemudian jalankan perintah yang dimodifikasi.
   + Ganti {{my-cluster}} dengan nama klaster Anda.
   + Ganti {{v1.20.0-eksbuild.1}} dengan versi terbaru yang tercantum dalam tabel versi terbaru untuk versi cluster Anda.
   + Ganti {{111122223333}} dengan ID akun Anda dan {{AmazonEKSVPCCNIRole}} dengan nama peran IAM yang ada yang telah Anda buat. Untuk membuat peran IAM untuk VPC CNI, lihat. [Langkah 1: Buat plugin Amazon VPC CNI untuk peran IAM Kubernetes](cni-iam-role.md#cni-iam-role-create-role) Menentukan peran mengharuskan Anda memiliki penyedia IAM OpenID Connect (OIDC) untuk klaster Anda. Untuk menentukan apakah Anda memiliki satu untuk cluster Anda, atau untuk membuatnya, lihat[Buat penyedia IAM OIDC untuk klaster Anda](enable-iam-roles-for-service-accounts.md).
   + `--resolve-conflicts PRESERVE`Opsi ini mempertahankan nilai konfigurasi yang ada untuk add-on. Jika Anda telah menetapkan nilai kustom untuk pengaturan add-on, dan Anda tidak menggunakan opsi ini, Amazon EKS menimpa nilai Anda dengan nilai defaultnya. Jika Anda menggunakan opsi ini, kami sarankan untuk menguji setiap bidang dan perubahan nilai pada klaster non-produksi sebelum memperbarui add-on pada cluster produksi Anda. Jika Anda mengubah nilai ini menjadi`OVERWRITE`, semua pengaturan diubah ke nilai default Amazon EKS. Jika Anda telah menetapkan nilai kustom untuk setelan apa pun, nilai tersebut mungkin akan ditimpa dengan nilai default Amazon EKS. Jika Anda mengubah nilai ini`none`, Amazon EKS tidak mengubah nilai pengaturan apa pun, tetapi pembaruan mungkin gagal. Jika pembaruan gagal, Anda menerima pesan galat untuk membantu menyelesaikan konflik.
   + Jika Anda tidak memperbarui pengaturan konfigurasi, hapus `--configuration-values '{{{"env":{"AWS_VPC_K8S_CNI_EXTERNALSNAT":"true"}}}}'` dari perintah. Jika Anda memperbarui pengaturan konfigurasi, ganti {{"env":{"AWS\_VPC\_K8S\_CNI\_EXTERNALSNAT":"true"}}} dengan pengaturan yang ingin Anda atur. Dalam contoh ini, variabel `AWS_VPC_K8S_CNI_EXTERNALSNAT` lingkungan diatur ke`true`. Nilai yang Anda tentukan harus valid untuk skema konfigurasi. Jika Anda tidak tahu skema konfigurasi, jalankan`aws eks describe-addon-configuration --addon-name vpc-cni --addon-version {{v1.20.0-eksbuild.1}} `, ganti {{v1.20.0-eksbuild.1}} dengan nomor versi add-on yang ingin Anda lihat konfigurasinya. Skema dikembalikan dalam output. Jika Anda memiliki konfigurasi kustom yang ada, ingin menghapus semuanya, dan mengatur nilai untuk semua pengaturan kembali ke default Amazon EKS, hapus {{"env":{"AWS\_VPC\_K8S\_CNI\_EXTERNALSNAT":"true"}}} dari perintah, sehingga Anda kosong. `{}` Untuk penjelasan tentang setiap pengaturan, lihat [Variabel Konfigurasi CNI](https://github.com/aws/amazon-vpc-cni-k8s#cni-configuration-variables) pada GitHub.

     ```
     aws eks update-addon --cluster-name my-cluster --addon-name vpc-cni --addon-version v1.20.3-eksbuild.1 \
         --service-account-role-arn arn:aws: iam::111122223333:role/AmazonEKSVPCCNIRole \
         --resolve-conflicts PRESERVE --configuration-values '{"env":{"AWS_VPC_K8S_CNI_EXTERNALSNAT":"true"}}'
     ```

     Mungkin perlu beberapa detik untuk pembaruan selesai.

1. Konfirmasikan bahwa versi add-on telah diperbarui. Ganti {{my-cluster}} dengan nama klaster Anda.

   ```
   aws eks describe-addon --cluster-name my-cluster --addon-name vpc-cni
   ```

   Mungkin perlu beberapa detik untuk pembaruan selesai.

   Contoh output adalah sebagai berikut.

   ```
   {
       "addon": {
           "addonName": "vpc-cni",
           "clusterName": "my-cluster",
           "status": "ACTIVE",
           "addonVersion": "v1.20.3-eksbuild.1",
           "health": {
               "issues": []
           },
           "addonArn": "arn:aws: eks:region:111122223333:addon/my-cluster/vpc-cni/74c33d2f-b4dc-8718-56e7-9fdfa65d14a9",
           "createdAt": "2023-04-12T18:25:19.319000+00:00",
           "modifiedAt": "2023-04-12T18:40:28.683000+00:00",
           "serviceAccountRoleArn": "arn:aws: iam::111122223333:role/AmazonEKSVPCCNIRole",
           "tags": {},
           "configurationValues": "{\"env\":{\"AWS_VPC_K8S_CNI_EXTERNALSNAT\":\"true\"}}"
       }
   }
   ```

## Pemecahan masalah
<a name="_troubleshooting"></a>

Saat memutakhirkan VPC CNI dari versi yang lebih lama dari v1.13.2, Anda harus mengganti semua node di cluster setelah pembaruan. Versi sebelum v1.13.2 menggunakan backend iptables-legacy untuk menyisipkan aturan iptables yang diperlukan untuk fungsionalitas yang tepat, seperti sumber NAT (SNAT).

Versi v1.13.2 adalah rilis signifikan yang [memperkenalkan iptables-wrapper, yang secara otomatis mendeteksi backend iptables](https://github.com/aws/amazon-vpc-cni-k8s/pull/2402) yang sesuai (iptables-legacy atau iptables-nft) untuk memasukkan rantai dan aturan. Perubahan ini selaras dengan keputusan Kubernetes hulu untuk menjauh dari backend lama karena keterbatasan kinerja.

Mengganti node setelah pemutakhiran dari versi yang lebih lama dari v1.13.2 dari VPC CNI diperlukan karena memperkenalkan aturan ke backend iptables-legacy dan iptables-nft dapat menyebabkan perilaku tak terduga untuk lalu lintas yang berasal dari non-primer. ENIs