Bekerja dengan add-on Amazon VPC CNI plugin for Kubernetes Amazon EKS - Amazon EKS

Bantu tingkatkan halaman ini

Ingin berkontribusi pada panduan pengguna ini? Gulir ke bagian bawah halaman ini dan pilih Edit halaman ini GitHub. Kontribusi Anda akan membantu membuat panduan pengguna kami lebih baik untuk semua orang.

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

Bekerja dengan add-on Amazon VPC CNI plugin for Kubernetes Amazon EKS

Amazon VPC CNI plugin for KubernetesAdd-on ini diterapkan pada setiap node Amazon EC2 di cluster Amazon EKS Anda. Add-on membuat antarmuka jaringan elastis dan menempelkannya ke node Amazon EC2 Anda. Add-on ini juga memberikan alamat pribadi IPv4 atau IPv6 alamat dari VPC Anda ke masing-masing dan layanan. Pod

Versi add-on digunakan dengan setiap node Fargate di cluster Anda, tetapi Anda tidak memperbaruinya di node Fargate. Plugin CNI lain yang kompatibel tersedia untuk digunakan pada kluster Amazon EKS, tetapi ini adalah satu-satunya plugin CNI yang didukung oleh Amazon EKS.

Tabel berikut mencantumkan versi terbaru yang tersedia dari jenis add-on Amazon EKS untuk setiap Kubernetes versi.

Versi Kubernetes 1.30 1.29 1.28 1.27 1.26 1.25 1.24 1.23
Amazon EKS jenis versi VPC CNI v1.18.2-eksbuild.1 v1.18.2-eksbuild.1 v1.18.2-eksbuild.1 v1.18.2-eksbuild.1 v1.18.2-eksbuild.1 v1.18.2-eksbuild.1 v1.18.2-eksbuild.1 v1.18.2-eksbuild.1
penting

Jika Anda mengelola sendiri add-on ini, versi dalam tabel mungkin tidak sama dengan versi yang dikelola sendiri yang tersedia. Untuk informasi selengkapnya tentang memperbarui jenis pengaya yang dikelola sendiri, lihat. Memperbarui add-on yang dikelola sendiri

penting

Untuk meningkatkan ke VPC CNI v1.12.0 atau yang lebih baru, Anda harus meng-upgrade ke VPC CNI v1.7.0 terlebih dahulu. Kami menyarankan Anda memperbarui satu versi minor sekaligus.

Prasyarat
Pertimbangan
  • Versi ditentukan sebagaimajor-version.minor-version.patch-version-eksbuild.build-number.

  • Periksa kompatibilitas versi untuk setiap fitur

    Beberapa fitur dari setiap rilis Amazon VPC CNI plugin for Kubernetes memerlukan Kubernetes versi certian. Saat menggunakan fitur Amazon EKS yang berbeda, jika versi add-on tertentu diperlukan, maka itu dicatat dalam dokumentasi fitur. Kecuali Anda memiliki alasan khusus untuk menjalankan versi sebelumnya, kami sarankan untuk menjalankan versi terbaru.

Membuat add-on Amazon EKS

Buat jenis add-on Amazon EKS.

  1. Lihat versi add-on mana yang diinstal pada cluster Anda.

    kubectl describe daemonset aws-node --namespace kube-system | grep amazon-k8s-cni: | cut -d : -f 3

    Contoh output adalah sebagai berikut.

    v1.16.4-eksbuild.2
  2. Lihat jenis add-on yang diinstal pada cluster Anda. Bergantung pada alat yang digunakan untuk membuat klaster, saat ini Anda mungkin tidak menginstal jenis add-on Amazon EKS di 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

    Jika nomor versi dikembalikan, Anda memiliki jenis add-on Amazon EKS yang diinstal pada cluster Anda dan tidak perlu menyelesaikan langkah-langkah yang tersisa dalam prosedur ini. Jika kesalahan dikembalikan, Anda tidak memiliki jenis add-on Amazon EKS yang diinstal pada cluster Anda. Selesaikan langkah-langkah yang tersisa dari prosedur ini untuk menginstalnya.

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

    kubectl get daemonset aws-node -n kube-system -o yaml > aws-k8s-cni-old.yaml
  4. Buat add-on menggunakan. AWS CLI Jika Anda ingin menggunakan AWS Management Console atau eksctl untuk membuat add-on, lihat Membuat add-on dan tentukan nama vpc-cni add-on. Salin perintah yang mengikuti ke perangkat Anda. Buat modifikasi berikut pada perintah, sesuai kebutuhan, dan kemudian jalankan perintah yang dimodifikasi.

    aws eks create-addon --cluster-name my-cluster --addon-name vpc-cni --addon-version v1.18.2-eksbuild.1 \ --service-account-role-arn arn:aws:iam::111122223333:role/AmazonEKSVPCCNIRole

    Jika Anda telah menerapkan pengaturan khusus ke add-on saat ini yang bertentangan dengan pengaturan default add-on Amazon EKS, pembuatan mungkin gagal. Jika pembuatan gagal, Anda menerima kesalahan yang dapat membantu Anda menyelesaikan masalah. Atau, Anda dapat menambahkan --resolve-conflicts OVERWRITE ke perintah sebelumnya. Hal ini memungkinkan add-on untuk menimpa pengaturan kustom yang ada. Setelah Anda membuat add-on, Anda dapat memperbaruinya dengan pengaturan khusus Anda.

  5. Konfirmasikan bahwa versi terbaru add-on untuk Kubernetes versi klaster Anda telah ditambahkan ke klaster 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

    Mungkin perlu beberapa detik untuk menyelesaikan pembuatan add-on.

    Contoh output adalah sebagai berikut.

    v1.18.2-eksbuild.1
  6. Jika Anda membuat pengaturan khusus untuk add-on asli Anda, sebelum Anda membuat add-on Amazon EKS, gunakan konfigurasi yang Anda simpan di langkah sebelumnya untuk memperbarui add-on Amazon EKS dengan pengaturan khusus Anda.

  7. (Opsional) Instal cni-metrics-helper ke cluster Anda. Ini mengikis elastic network interface dan informasi alamat IP, menggabungkannya pada tingkat cluster, dan menerbitkan metrik ke Amazon. CloudWatch Untuk informasi lebih lanjut, lihat cni-metrics-helper di. GitHub

Memperbarui add-on Amazon EKS

Perbarui jenis add-on Amazon EKS. Jika Anda belum menambahkan jenis add-on Amazon EKS ke klaster Anda, tambahkan atau lihatMemperbarui add-on yang dikelola sendiri, alih-alih menyelesaikan prosedur ini.

  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.16.4-eksbuild.2

    Jika versi yang dikembalikan sama dengan versi untuk versi cluster Anda di tabel versi terbaru, maka Anda sudah menginstal versi terbaru di cluster Anda dan tidak perlu menyelesaikan sisa prosedur ini. Kubernetes 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.

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

    kubectl get daemonset aws-node -n kube-system -o yaml > aws-k8s-cni-old.yaml
  3. Perbarui add-on Anda menggunakan. AWS CLI Jika Anda ingin menggunakan AWS Management Console atau eksctl memperbarui add-on, lihatMemperbarui add-on. 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.18.2-eksbuild.1dengan versi terbaru yang tercantum dalam tabel versi terbaru untuk versi cluster Anda.

    • Ganti 111122223333 dengan ID akun Anda dan AmazonKsvPCCnirole dengan nama peran IAM yang ada yang telah Anda buat. 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, lihatBuat OIDC penyedia IAM untuk klaster Anda.

    • Opsi --resolve-conflicts PRESERVE 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 menjadiOVERWRITE, 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 ininone, 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 ketrue. Nilai yang Anda tentukan harus valid untuk skema konfigurasi. Jika Anda tidak tahu skema konfigurasi, jalankanaws eks describe-addon-configuration --addon-name vpc-cni --addon-version v1.18.2-eksbuild.1, ganti v1.18.2-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 pada GitHub.

      aws eks update-addon --cluster-name my-cluster --addon-name vpc-cni --addon-version v1.18.2-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.

  4. 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.18.2-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\"}}" } }

Memperbarui add-on yang dikelola sendiri

penting

Sebaiknya tambahkan jenis add-on Amazon EKS ke klaster Anda alih-alih menggunakan jenis add-on yang dikelola sendiri. Jika Anda tidak terbiasa dengan perbedaan antara jenis, lihatGunakan AWSAPIs untuk menginstal/memperbarui komponen cluster dengan add-on EKS. Untuk informasi selengkapnya tentang menambahkan add-on Amazon EKS ke klaster Anda, lihatMembuat add-on. Jika Anda tidak dapat menggunakan add-on Amazon EKS, kami mendorong Anda untuk mengirimkan masalah tentang mengapa Anda tidak dapat ke repositori peta jalan GitHub Containers.

  1. Konfirmasikan bahwa Anda tidak memiliki jenis add-on Amazon EKS 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

    Jika pesan kesalahan dikembalikan, Anda tidak memiliki jenis add-on Amazon EKS yang diinstal pada cluster Anda. Untuk mengelola sendiri add-on, selesaikan langkah-langkah yang tersisa dalam prosedur ini untuk memperbarui add-on. Jika nomor versi dikembalikan, Anda memiliki jenis add-on Amazon EKS yang diinstal pada cluster Anda. Untuk memperbaruinya, gunakan prosedur diMemperbarui add-on, daripada menggunakan prosedur ini. Jika Anda tidak terbiasa dengan perbedaan antara jenis add-on, lihatGunakan AWSAPIs untuk menginstal/memperbarui komponen cluster dengan add-on EKS.

  2. Lihat versi gambar kontainer mana yang saat ini diinstal di cluster Anda.

    kubectl describe daemonset aws-node --namespace kube-system | grep amazon-k8s-cni: | cut -d : -f 3

    Contoh output adalah sebagai berikut.

    v1.16.4-eksbuild.2

    Output Anda mungkin tidak menyertakan nomor build.

  3. Backup pengaturan Anda saat ini sehingga Anda dapat mengonfigurasi pengaturan yang sama setelah Anda memperbarui versi Anda.

    kubectl get daemonset aws-node -n kube-system -o yaml > aws-k8s-cni-old.yaml
  4. Untuk meninjau versi yang tersedia dan membiasakan diri dengan perubahan dalam versi yang ingin Anda perbarui, lihat releases diGitHub. Perhatikan bahwa kami sarankan memperbarui ke yang samamajor. minor. patchversi yang tercantum dalam tabel versi terbaru yang tersedia, bahkan jika versi yang lebih baru tersedia di GitHub.. Versi build yang tercantum dalam tabel tidak ditentukan dalam versi yang dikelola sendiri yang tercantum. GitHub Perbarui versi Anda dengan menyelesaikan tugas di salah satu opsi berikut:

    • Jika Anda tidak memiliki pengaturan khusus untuk add-on, jalankan perintah di bawah To apply this release: judul GitHub untuk rilis yang Anda perbarui.

    • Jika Anda memiliki pengaturan khusus, unduh file manifes dengan perintah berikut. Ubah https://raw.githubusercontent.com/aws/amazon-vpc-cni-k8s/v1.18.2/config/master/aws-k8s-cni.yaml ke URL untuk rilis GitHub yang Anda perbarui.

      curl -O https://raw.githubusercontent.com/aws/amazon-vpc-cni-k8s/v1.18.2/config/master/aws-k8s-cni.yaml

      Jika perlu, ubah manifes dengan pengaturan kustom dari cadangan yang Anda buat pada langkah sebelumnya, lalu terapkan manifes yang dimodifikasi ke klaster Anda. Jika node Anda tidak memiliki akses ke repositori Amazon EKS Amazon ECR pribadi tempat gambar ditarik (lihat baris yang dimulai dengan image: manifes), maka Anda harus mengunduh gambar, menyalinnya ke repositori Anda sendiri, dan memodifikasi manifes untuk menarik gambar dari repositori Anda. Untuk informasi selengkapnya, lihat Salin gambar kontainer dari satu repositori ke repositori lain.

      kubectl apply -f aws-k8s-cni.yaml
      
  5. Konfirmasikan bahwa versi baru sekarang diinstal pada cluster Anda.

    kubectl describe daemonset aws-node --namespace kube-system | grep amazon-k8s-cni: | cut -d : -f 3

    Contoh output adalah sebagai berikut.

    v1.18.2
  6. (Opsional) Instal cni-metrics-helper ke cluster Anda. Ini mengikis elastic network interface dan informasi alamat IP, menggabungkannya pada tingkat cluster, dan menerbitkan metrik ke Amazon. CloudWatch Untuk informasi lebih lanjut, lihat cni-metrics-helper di. GitHub