Bantu meningkatkan 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 GitHub tautan Edit halaman ini di 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.
Konfigurasikan plugin Amazon VPC CNI untuk Kubernetes untuk grup keamanan untuk Amazon EKS Pod
Jika Anda menggunakan Pod dengan instans Amazon EC2, Anda perlu mengonfigurasi plugin Amazon VPC CNI untuk Kubernetes untuk grup keamanan
Jika Anda hanya menggunakan Pod Fargate, dan tidak memiliki node Amazon EC2 di cluster Anda, lihat. Menggunakan kebijakan grup keamanan untuk Amazon EKS Pod
-
Periksa plugin Amazon VPC CNI Anda saat ini untuk versi Kubernetes dengan perintah berikut:
kubectl describe daemonset aws-node --namespace kube-system | grep amazon-k8s-cni: | cut -d : -f 3Contoh output adalah sebagai berikut.
v1.7.6Jika plugin Amazon VPC CNI Anda untuk versi Kubernetes lebih awal dari
1.7.7, maka perbarui plugin ke versi atau yang lebih baru.1.7.7Untuk informasi selengkapnya, lihat Tetapkan IP ke Pod dengan Amazon VPC CNI -
Tambahkan kebijakan AmazonEKSVPCResourceController
IAM terkelola ke peran cluster yang terkait dengan cluster Amazon EKS Anda. Kebijakan ini memungkinkan peran untuk mengelola antarmuka jaringan dan alamat IP pribadinya, dan untuk melampirkan dan melepaskan antarmuka jaringan ke dan dari instance. -
Ambil nama peran IAM cluster Anda dan simpan dalam variabel. Ganti
my-clusterdengan nama klaster Anda.cluster_role=$(aws eks describe-cluster --name my-cluster --query cluster.roleArn --output text | cut -d / -f 2) -
Lampirkan kebijakan pada peran tersebut.
aws iam attach-role-policy --policy-arn arn:aws: iam::aws:policy/AmazonEKSVPCResourceController --role-name $cluster_role
-
-
Aktifkan add-on Amazon VPC CNI untuk mengelola antarmuka jaringan untuk Pod dengan menyetel
ENABLE_POD_ENIvariabel ketruedalam.aws-nodeDaemonSet Setelah pengaturan ini diatur ketrue, untuk setiap node di cluster add-on membuat sumber dayacninodekhusus. Pengendali sumber daya VPC membuat dan melampirkan satu antarmuka jaringan khusus yang disebut antarmuka jaringan trunk dengan deskripsiaws-k8s-trunk-eni.kubectl set env daemonset aws-node -n kube-system ENABLE_POD_ENI=truecatatan
Antarmuka jaringan trunk termasuk dalam jumlah maksimum antarmuka jaringan yang didukung oleh tipe instans. Untuk daftar jumlah maksimum antarmuka jaringan yang didukung oleh setiap jenis instans, lihat Alamat IP per antarmuka jaringan per jenis instans di Panduan Pengguna Amazon EC2. Jika simpul Anda sudah memiliki jumlah maksimum antarmuka jaringan standar yang terlampir padanya, maka pengendali sumber daya VPC akan menyimpan sebuah ruang. Anda harus mengurangi skala Pod yang sedang berjalan secukupnya agar pengontrol dapat melepaskan dan menghapus antarmuka jaringan standar, membuat antarmuka jaringan trunk, dan melampirkannya ke instance.
-
Anda dapat melihat node mana yang memiliki sumber daya
CNINodekhusus dengan perintah berikut. JikaNo resources founddikembalikan, maka tunggu beberapa detik dan coba lagi. Langkah sebelumnya memerlukan restart plugin Amazon VPC CNI untuk Kubernetes Pods, yang membutuhkan waktu beberapa detik.kubectl get cninode -A NAME FEATURES ip-192-168-64-141.us-west-2.compute.internal [{"name":"SecurityGroupsForPods"}] ip-192-168-7-203.us-west-2.compute.internal [{"name":"SecurityGroupsForPods"}]Jika Anda menggunakan versi VPC CNI yang lebih tua dari
1.15, label node digunakan sebagai pengganti sumber dayaCNINodekhusus. Anda dapat melihat node mana yang memiliki label node disaws-k8s-trunk-enieteltruedengan perintah berikut. JikaNo resources founddikembalikan, maka tunggu beberapa detik dan coba lagi. Langkah sebelumnya memerlukan restart plugin Amazon VPC CNI untuk Kubernetes Pods, yang membutuhkan waktu beberapa detik.kubectl get nodes -o wide -l vpc.amazonaws.com/has-trunk-attached=trueSetelah antarmuka jaringan trunk dibuat, Pod diberi alamat IP sekunder dari trunk atau antarmuka jaringan standar. Antarmuka trunk secara otomatis dihapus jika simpul dihapus.
Saat Anda menyebarkan grup keamanan untuk Pod di langkah selanjutnya, pengontrol sumber daya VPC membuat antarmuka jaringan khusus yang disebut antarmuka jaringan cabang dengan deskripsi
aws-k8s-branch-enidan mengaitkan grup keamanan dengannya. Antarmuka jaringan cabang dibuat sebagai tambahan dari antarmuka jaringan standar dan trunk yang terlampir pada simpul.Jika Anda menggunakan probe keaktifan atau kesiapan, maka Anda juga perlu menonaktifkan TCP early demux, sehingga
kubeletdapat terhubung ke Pod pada antarmuka jaringan cabang menggunakan TCP. Untuk menonaktifkan TCP early demux, jalankan perintah berikut:kubectl patch daemonset aws-node -n kube-system \ -p '{"spec": {"template": {"spec": {"initContainers": [{"env":[{"name":"DISABLE_TCP_EARLY_DEMUX","value":"true"}],"name":"aws-vpc-cni-init"}]}}}}'catatan
Jika Anda menggunakan plugin Amazon VPC CNI untuk add-on Kubernetes dan set
POD_SECURITY_GROUP_ENFORCING_MODE=1.11.0atau yang lebih barustandard, seperti yang dijelaskan pada langkah berikutnya, maka Anda tidak perlu menjalankan perintah sebelumnya. -
Jika cluster Anda menggunakan
NodeLocal DNSCache, atau Anda ingin menggunakan kebijakan jaringan Calico dengan Pod yang memiliki grup keamanan sendiri, atau Anda memiliki jenis layanan KubernetesNodePortdanLoadBalancermenggunakan target instans dengan ditetapkanLocaluntuk Pod yang ingin Anda tetapkan grup keamanan, maka Anda harus menggunakan plugin Amazon VPC CNI untuk add-on Kubernetes versi1.11.0atau yang lebih baru, dan Anda harus mengaktifkanexternalTrafficPolicysetelan berikut:kubectl set env daemonset aws-node -n kube-system POD_SECURITY_GROUP_ENFORCING_MODE=standardPENTING: Aturan grup keamanan Pod tidak diterapkan pada lalu lintas antara Pod atau antara Pod dan layanan, seperti
kubeletataunodeLocalDNS, yang berada di node yang sama. Pod yang menggunakan grup keamanan berbeda pada node yang sama tidak dapat berkomunikasi karena mereka dikonfigurasi di subnet yang berbeda, dan routing dinonaktifkan di antara subnet ini. Lalu lintas keluar dari Pod ke alamat di luar VPC adalah alamat jaringan yang diterjemahkan ke alamat IP antarmuka jaringan utama instans (kecuali jika Anda juga telah menyetel).AWS_VPC_K8S_CNI_EXTERNALSNAT=trueUntuk lalu lintas ini, aturan dalam grup keamanan untuk antarmuka jaringan utama digunakan, bukan aturan dalam grup keamanan Pod. ** Agar pengaturan ini dapat diterapkan ke Pod yang ada, Anda harus memulai ulang Pod atau node tempat Pod berjalan. -
Untuk melihat cara menggunakan kebijakan grup keamanan untuk Pod Anda, lihatMenggunakan kebijakan grup keamanan untuk Amazon EKS Pod.