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.
Mengkonfigurasi perutean jalan keluar bidang kontrol
Secara default, Amazon EKS mengelola jaringan jalan keluar dari bidang kontrol Kubernetes ke sumber daya di VPC Anda. Gunakan perutean jalan keluar bidang kontrol untuk mengubah perilaku ini dan mengelola jalur jaringan sendiri. Ini memberi Anda kontrol penuh atas bagaimana lalu lintas dari bidang kontrol antarmuka jaringan elastis (ENI) mencapai sumber daya VPC Anda. Anda dapat melakukan rute melalui gateway NAT, firewall, atau peralatan inspeksi Anda sendiri.
Mode perutean jalan keluar
Amazon EKS mendukung mode perutean jalan keluar bidang kontrol berikut:
| Modus | Deskripsi |
|---|---|
|
|
Perilaku default. Amazon EKS mengelola jalur keluar dari pesawat kontrol ENIs. Anda tidak perlu mengonfigurasi gateway NAT atau infrastruktur perutean lainnya untuk mengontrol lalu lintas pesawat. |
|
|
Anda mengelola jalur keluar dari bidang kontrol di subnet VPC Anda. Anda bertanggung jawab untuk memastikan bahwa pesawat kontrol dapat mencapai titik akhir yang diperlukan (seperti server webhook, penyedia OIDC, dan sumber daya lainnya). Anda menyediakan jalur keluar, seperti gateway NAT, instance NAT, gateway transit, atau alat firewall. Anda juga mengonfigurasi tabel rute, ACL jaringan, dan aturan grup keamanan yang memungkinkan lalu lintas ini. |
penting
Dalam CUSTOMER_ROUTED mode, Anda bertanggung jawab untuk memastikan konektivitas jaringan yang tepat dari bidang kontrol. Kesalahan konfigurasi di jaringan VPC Anda dapat menyebabkan operasi pesawat kontrol gagal. Kesalahan konfigurasi ini termasuk jalur keluar yang hilang, ACL jaringan terbatas, atau grup keamanan yang salah. Operasi yang terpengaruh termasuk panggilan webhook masuk dan otentikasi OIDC.
Prasyarat
VPC dan subnet Anda harus memenuhi persyaratan jaringan Amazon EKS standar. Untuk informasi selengkapnya, lihat Lihat persyaratan jaringan Amazon EKS untuk VPC dan subnet.
Dalam CUSTOMER_ROUTED mode, server API Kubernetes mengirimkan lalu lintas keluar yang menghadap pelanggan melalui antarmuka jaringan lintas akun. Amazon EKS sudah membuat antarmuka ini di subnet Anda untuk bidang kontrol ke komunikasi node. Lalu lintas ini termasuk panggilan ke webhook masuk dan penyedia OIDC. Amazon EKS tidak membuat antarmuka jaringan jalan keluar yang terpisah. Mode ini mengubah cara antarmuka yang ada digunakan. Subnet yang memegang antarmuka ini harus memenuhi persyaratan berikut:
-
Subnet harus memiliki rute ke titik akhir yang perlu dijangkau oleh pesawat kontrol (seperti server webhook dan penyedia OIDC). Untuk titik akhir di luar VPC Anda, ini biasanya berarti rute default ke perangkat keluar. Rute default adalah
0.0.0.0/0untuk IPv4, dan::/0untuk IPv6. Perangkat keluar dapat berupa gateway NAT, instance NAT, firewall, atau gateway transit ke VPC jalan keluar terpusat. Pilihan perangkat jalan keluar ada di tangan Anda; Amazon EKS hanya mengharuskan jalurnya berfungsi. -
Grup keamanan pada antarmuka jaringan lintas akun harus mengizinkan lalu lintas keluar pada port yang diperlukan oleh beban kerja Anda (misalnya, port 443 untuk webhook dan penyedia OIDC).
-
ACL jaringan pada subnet harus memungkinkan lalu lintas keluar dan rentang port singkat masuk yang sesuai untuk lalu lintas kembali.
Dalam CUSTOMER_ROUTED mode, bidang kontrol menyelesaikan nama host menggunakan konfigurasi DNS VPC Anda. Hal ini memungkinkan bidang kontrol mencapai titik akhir di zona host pribadi Route 53 dan DNS lokal yang diteruskan melalui titik akhir Route 53 Resolver.
-
Set opsi VPC DHCP Anda harus disertakan
AmazonProvidedDNSdalam daftar server nama domainnya. Ini diperlukan untuk bidang kontrol untuk menyelesaikan nama DNS dalam VPC. Jika klaster Anda menggunakan endpoint webhook eksternal atau penyedia OIDC dengan nama DNS publik, resolver juga harus menyelesaikan nama host publik. Pastikan resolver dapat menangani resolusi VPC dan DNS publik.
Tabel berikut merangkum lalu lintas yang dikirim oleh pesawat kontrol melalui VPC CUSTOMER_ROUTED Anda dalam mode:
| Lalu Lintas | Destinasi | Port | Catatan |
|---|---|---|---|
|
Webhook masuk |
Titik akhir Webhook (URL yang ditentukan pelanggan) |
443 (biasanya) |
Hanya jika webhook dikonfigurasi. Meninggalkan VPC melalui perangkat keluar Anda jika titik akhir eksternal. |
|
Penemuan OIDC |
URL penerbit OIDC |
443 |
Hanya jika penyedia OIDC dikonfigurasi. Meninggalkan VPC melalui perangkat jalan keluar Anda jika penerbitnya eksternal. |
|
Server API agregat |
Titik akhir server API pelanggan |
443 |
Hanya jika dikonfigurasi. Meninggalkan VPC melalui perangkat keluar Anda jika titik akhir eksternal. |
|
Kubelet API |
Alamat IP node pekerja |
10250 |
Ini adalah lalu lintas antara bidang kontrol dan node Anda melalui cluster ENI; itu tidak melintasi perangkat jalan keluar Anda. Ini mengharuskan tabel rute, grup keamanan, dan ACL jaringan memungkinkan lalu lintas di seluruh ENI cluster antara bidang kontrol dan node Anda. |
catatan
Hanya lalu lintas yang tercantum dalam tabel ini yang dipengaruhi oleh konfigurasi jalan keluar Anda. EKS-managed lalu lintas pesawat kontrol (seperti komunikasi dengan etcd, CloudWatch Log, dan layanan EKS internal) berlanjut melalui jalur jaringan AWS terkelola dan tidak terpengaruh oleh konfigurasi VPC Anda.
Buat cluster dengan jalan keluar yang dirutekan pelanggan
Anda dapat menentukan mode jalan keluar bidang kontrol saat membuat cluster baru.
contoh
Anda dapat menggunakan ipFamily=ipv6 untuk cluster IPv6. Saat menggunakan IPv6 dengan CUSTOMER_ROUTED mode, pastikan subnet Anda memiliki gateway internet khusus egres untuk lalu lintas IPv6 selain gateway NAT untuk lalu lintas IPv4.
contoh
- Konsol Manajemen AWS
-
-
Buka konsol Amazon EKS
. -
Pilih Add cluster, lalu pilih Create.
-
Pada halaman Networking, untuk Control plane egress, pilih Customer routed.
-
Selesaikan konfigurasi cluster yang tersisa dan pilih Buat.
-
Untuk AWS CloudFormation, atur ControlPlaneEgressMode: CUSTOMER_ROUTEDResourcesVpcConfig. Dukungan Terraform untuk bidang ini akan tersedia di rilis Penyedia di masa mendatang.AWS
catatan
Beralih ke CUSTOMER_ROUTED adalah operasi satu arah. Setelah Anda mengaktifkan jalan keluar yang dirutekan pelanggan di klaster, Anda tidak dapat kembali ke. AWS_MANAGED
Perbarui klaster yang ada
Anda dapat mengubah mode jalan keluar bidang kontrol pada cluster yang ada menggunakan perintah. update-cluster-config
aws eks update-cluster-config \ --name my-cluster \ --resources-vpc-config "controlPlaneEgressMode=CUSTOMER_ROUTED" \ --region region-code
Pantau status pembaruan:
aws eks describe-update \ --name my-cluster \ --update-id update-id \ --region region-code
Pembaruan selesai saat status ditampilkanSuccessful. Jenis pembaruan adalahControlPlaneEgressUpdate. Pembaruan biasanya selesai dalam 10 menit.
penting
Beralih ke CUSTOMER_ROUTED adalah operasi satu arah. Setelah Anda mengaktifkan jalan keluar yang dirutekan pelanggan di klaster, Anda tidak dapat kembali ke. AWS_MANAGED
Sebelum Anda beralih, konfirmasikan bahwa VPC Anda memenuhi persyaratan di. Prasyarat Jika bidang kontrol kehilangan konektivitas ke titik akhir yang diperlukan setelah pembaruan, operasi seperti panggilan webhook masuk dan otentikasi OIDC dapat gagal.
Pertimbangan IPv6
Jika Anda menjalankan klaster IPv6 dengan jalan keluar yang dirutekan pelanggan, Anda perlu mengonfigurasi jalur keluar IPv4 dan IPv6.
Saat menjalankan IPv6 cluster (ipFamily=ipv6) dengan CUSTOMER_ROUTED jalan keluar:
-
ENI bidang kontrol diberi alamat IPv4 dan IPv6.
-
Anda harus mengonfigurasi jalur keluar IPv4 dan IPv6:
-
IPv4: rute default (
0.0.0.0/0) ke perangkat keluar Anda (misalnya, gateway NAT). -
IPv6:
::/0rute ke perangkat jalan keluar IPv6 (misalnya, gateway internet khusus egres).
-
-
Grup keamanan dan NACL harus mengizinkan lalu lintas pada kedua versi IP.
-
Jika penyedia OIDC atau titik akhir webhook Anda IPv4-only, pastikan IPv4 NAT berfungsi.
Pertimbangan-pertimbangan
Ingatlah poin-poin berikut saat Anda menggunakan jalan keluar bidang kontrol yang diarahkan pelanggan:
-
Tanggung jawab Anda: Dalam
CUSTOMER_ROUTEDmode, Anda memiliki jalur jaringan dari bidang kontrol ke titik akhir eksternal Anda. Jika jalur itu rusak, operasi pesawat kontrol yang bergantung padanya (seperti panggilan webhook masuk dan otentikasi OIDC) dapat gagal hingga Anda memulihkan konektivitas. -
VPC-internal lalu lintas tidak terpengaruh: Lalu lintas antara bidang kontrol dan node Anda (misalnya, kubelet API pada port 10250) melalui cluster ENI tidak bergantung pada perangkat jalan keluar Anda.
-
Mode Otomatis EKS: Perutean jalan keluar bidang kontrol bekerja dengan cara yang sama pada cluster Mode Standar dan Otomatis karena arsitektur bidang kontrol identik.
-
Kemampuan EKS: Kemampuan EKS (seperti ArgoCD, ACK, dan KRO) berjalan di infrastruktur terkelola terpisah AWS . Lalu lintas dari pengontrol Kemampuan EKS tidak dirutekan melalui VPC Anda dengan fitur ini.
-
Observabilitas: Jika Anda mengaktifkan Log Aliran VPC di VPC atau subnet klaster, Anda dapat mengamati lalu lintas jalan keluar yang merutekan melalui VPC Anda. Ini termasuk panggilan ke webhook dan titik akhir OIDC. Jika Log Aliran VPC tidak diaktifkan, lalu lintas ini tidak dicatat.
Kunci kondisi IAM
Amazon EKS mendukung kunci eks:controlPlaneEgressMode kondisi. Anda dapat menggunakan kunci ini dalam kebijakan IAM atau kebijakan kontrol layanan (SCP) untuk mengontrol pemanggil mode jalan keluar mana yang dapat ditentukan saat mereka membuat atau memperbarui kluster.
Kunci kondisi berlaku untuk tindakan berikut:
-
eks:CreateCluster -
eks:UpdateClusterConfig
Misalnya, SCP berikut menolak pembuatan klaster dan pembaruan konfigurasi kecuali pemanggil menentukan: CUSTOMER_ROUTED
{ "Version": "2012-10-17", "Statement": [ { "Sid": "RequireCustomerRoutedControlPlane", "Effect": "Deny", "Action": [ "eks:CreateCluster", "eks:UpdateClusterConfig" ], "Resource": "*", "Condition": { "StringNotEquals": { "eks:controlPlaneEgressMode": "CUSTOMER_ROUTED" } } } ] }
Gunakan kebijakan ini untuk menegakkan bahwa semua kluster baru dan yang diperbarui di organisasi Anda menggunakan mode keluarCUSTOMER_ROUTED.
Konfigurasi penyedia OIDC
Jika klaster Anda menggunakan penyedia identitas OIDC, bidang kontrol harus dapat mencapai titik akhir penemuan OIDC melalui HTTPS (port 443). Ini berlaku untuk peran IAM untuk akun layanan, atau penyedia identitas OIDC yang Anda kaitkan untuk otentikasi klaster. Tidak ada OIDC-specific pengaturan; ia menggunakan jalur keluar yang sama yang Anda konfigurasikan di Prasyarat. Untuk mengizinkannya:
-
Konfirmasikan bahwa subnet bidang kontrol memiliki rute yang mencakup titik akhir OIDC (biasanya rute default ke perangkat jalan keluar Anda, seperti gateway NAT).
-
Konfirmasikan grup keamanan cluster memungkinkan TCP 443 keluar.
-
Konfirmasikan bahwa NACL subnet memungkinkan TCP 443 keluar dan lalu lintas pengembalian sementara masuk (port 1024—65535).
Titik akhir tergantung pada penyedia Anda:
-
Penyedia Amazon EKS OIDC (default):
oidc.eks.region-code.amazonaws.com -
Penyedia OIDC khusus: URL penerbit yang Anda konfigurasikan.
Jika otentikasi OIDC gagal, untuk langkah pemecahan masalah lihat. Penyedia OIDC tidak terjangkau
Verifikasi konektivitas
Setelah mengonfigurasi jalan CUSTOMER_ROUTED keluar, verifikasi bahwa bidang kontrol dapat mencapai sumber daya VPC Anda:
-
Periksa mode jalan keluar saat ini: Konfirmasikan cluster menggunakan mode yang Anda harapkan.
aws eks describe-cluster --name my-cluster \ --query "cluster.resourcesVpcConfig.controlPlaneEgressMode" \ --region region-code -
Periksa status cluster: Cluster harus dalam
ACTIVEstatus.aws eks describe-cluster --name my-cluster --query "cluster.status" --region region-code -
Uji konektivitas webhook: Jika Anda memiliki webhook masuk yang dikonfigurasi, buat sumber daya yang memicu webhook dan konfirmasikan berhasil.
-
Verifikasi pendaftaran node: Luncurkan node dan konfirmasikan berhasil bergabung dengan cluster.
kubectl get nodes -
Periksa OIDC: Jika menggunakan peran IAM untuk akun layanan (IRSA), verifikasi bahwa pod dapat mengambil peran IAM mereka.
Untuk mengatasi masalah umum, lihat. Memecahkan masalah jalan keluar pesawat kontrol