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
-
Sebuah klaster Amazon EKS yang sudah ada. Untuk menyebarkan satu, lihatMemulai dengan Amazon EKS.
-
Penyedia AWS Identity and Access Management (IAM) OpenID Connect (OIDC) yang sudah ada untuk cluster Anda. Untuk menentukan apakah Anda sudah memiliki satu, atau harus membuat satu, lihat Buat OIDC penyedia IAM untuk klaster Anda.
-
Peran IAM dengan kebijakan IAM Amazoneks_CNI_Policy (jika klaster Anda menggunakan keluarga) atau kebijakan IPv6 (jika klaster Anda menggunakan keluarga) IPv4 yang dilampirkan padanya.
IPv6
Untuk informasi selengkapnya, lihat Mengkonfigurasi Amazon VPC CNI plugin for Kubernetes untuk menggunakan peran IAM untuk akun layanan (IRSA). -
Jika Anda menggunakan versi
1.7.0
atau yang lebih baru Amazon VPC CNI plugin for Kubernetes dan Anda menggunakan kebijakan Pod keamanan khusus, lihat Hapus kebijakan Pod keamanan Amazon EKS defaultKebijakan keamanan pod. -
penting
Amazon VPC CNI plugin for Kubernetesversi
v1.16.0
untukv1.16.1
menghapus kompatibilitas dengan Kubernetes versi1.23
dan sebelumnya. Versi VPC CNIv1.16.2
mengembalikan kompatibilitas dengan Kubernetes versi1.23
dan sebelumnya dan spesifikasi CNI.v0.4.0
Amazon VPC CNI plugin for Kubernetesversi
v1.16.0
untukv1.16.1
mengimplementasikan versiv1.0.0
spesifikasi CNI. Spesifikasiv1.0.0
CNI didukung pada kluster EKS yang menjalankan Kubernetes versiv1.24
atau yang lebih baru. Versi VPC CNIv1.16.0
kev1.16.1
dan spesifikasi CNIv1.0.0
tidak didukung pada versi atau versi sebelumnya. Kubernetesv1.23
Untuk informasi lebih lanjutv1.0.0
tentang spesifikasi CNI, lihat Spesifikasi Container Network Interface (CNI) di
Pertimbangan
-
Versi ditentukan sebagai
major-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.
-
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
-
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 textJika 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.
-
Simpan konfigurasi add-on yang Anda instal saat ini.
kubectl get daemonset aws-node -n kube-system -o yaml >
aws-k8s-cni-old.yaml
-
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 namavpc-cni
add-on. Salin perintah yang mengikuti ke perangkat Anda. Buat modifikasi berikut pada perintah, sesuai kebutuhan, dan kemudian jalankan perintah yang dimodifikasi.-
Ganti
dengan nama klaster Anda.my-cluster
-
Ganti
dengan versi terbaru yang tercantum dalam tabel versi terbaru untuk versi cluster Anda.v1.18.2-eksbuild.1
-
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.
aws eks create-addon --cluster-name
my-cluster
--addon-name vpc-cni --addon-version
\ --service-account-role-arn arn:aws:iam::v1.18.2-eksbuild.1
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. -
-
Konfirmasikan bahwa versi terbaru add-on untuk Kubernetes versi klaster Anda telah ditambahkan ke klaster Anda. Ganti
dengan nama klaster Anda.my-cluster
aws eks describe-addon --cluster-name
my-cluster
--addon-name vpc-cni --query addon.addonVersion --output textMungkin perlu beberapa detik untuk menyelesaikan pembuatan add-on.
Contoh output adalah sebagai berikut.
v1.18.2-eksbuild.1
-
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.
(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-helperdi. 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.
-
Lihat versi add-on mana yang diinstal pada cluster Anda. Ganti
dengan nama klaster Anda.my-cluster
aws eks describe-addon --cluster-name
my-cluster
--addon-name vpc-cni --query "addon.addonVersion" --output textContoh 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.
-
Simpan konfigurasi add-on yang Anda instal saat ini.
kubectl get daemonset aws-node -n kube-system -o yaml >
aws-k8s-cni-old.yaml
-
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
dengan nama klaster Anda.my-cluster
-
Ganti
dengan versi terbaru yang tercantum dalam tabel versi terbaru untuk versi cluster Anda.v1.18.2-eksbuild.1
-
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 '{
dari perintah. Jika Anda memperbarui pengaturan konfigurasi, ganti"env":{"AWS_VPC_K8S_CNI_EXTERNALSNAT":"true"}
}'“env”: {"AWS_VPC_K8S_CNI_EXTERNALSNAT
” :"true "} dengan pengaturan yang ingin Anda atur. Dalam contoh ini, variabelAWS_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
, gantiv1.18.2-eksbuild.1
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-versionv1.18.2-eksbuild.1
\ --service-account-role-arn arn:aws:iam::111122223333
:role/AmazonEKSVPCCNIRole
\ --resolve-conflictsPRESERVE
--configuration-values '{"env":{"AWS_VPC_K8S_CNI_EXTERNALSNAT":"true"}
}'Mungkin perlu beberapa detik untuk pembaruan selesai.
-
-
Konfirmasikan bahwa versi add-on telah diperbarui. Ganti
dengan nama klaster Anda.my-cluster
aws eks describe-addon --cluster-name
my-cluster
--addon-name vpc-cniMungkin 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
-
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 textJika 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.
-
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.
-
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
-
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
.patch
versi 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 rilisyang 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
-
-
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
(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-helperdi. GitHub