Mengkonfigurasi perutean keluar pesawat kontrol - Amazon EKS

View a markdown version of this page

Mengkonfigurasi perutean keluar pesawat kontrol - Amazon EKS

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.

Mengkonfigurasi perutean keluar pesawat kontrol

Secara default, Amazon EKS mengelola jaringan keluar dari bidang kontrol Kubernetes ke sumber daya di VPC Anda. Gunakan perutean keluar pesawat kontrol untuk mengubah perilaku ini dan mengelola sendiri jalur jaringan. Ini memberi Anda kontrol penuh atas bagaimana lalu lintas dari antarmuka jaringan elastis bidang kontrol (ENI) mencapai sumber daya VPC Anda. Anda dapat merutekan melalui gateway NAT, firewall, atau peralatan inspeksi Anda sendiri.

Diagram arsitektur yang menunjukkan kube-apiserver mengirimkan lalu lintas melalui ENI lintas akun di subnet VPC pelanggan ke tabel rute dan perangkat keluar seperti gateway NAT dan kemudian keluar ke internet untuk mencapai titik akhir webhook dan OIDC

Mode perutean keluar

Amazon EKS mendukung mode routing keluar pesawat kontrol berikut:

Modus Deskripsi

AWS_MANAGED

Perilaku default. Amazon EKS mengelola jalur keluar dari ENI pesawat kontrol. Anda tidak perlu mengkonfigurasi gateway NAT atau infrastruktur routing lainnya untuk mengontrol lalu lintas pesawat.

CUSTOMER_ROUTED

Anda mengelola jalur keluar dari bidang kontrol di subnet VPC Anda. Anda bertanggung jawab untuk memastikan bahwa bidang kontrol dapat mencapai titik akhir yang diperlukan (seperti server webhook, penyedia OIDC, dan sumber daya lainnya). Anda menyediakan jalur keluar, seperti gateway NAT, instans 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. Salah konfigurasi dalam 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 penerimaan 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 yang menghadap pelanggan keluar melalui antarmuka jaringan lintas akun. Amazon EKS sudah membuat antarmuka ini di subnet Anda untuk komunikasi bidang kontrol ke node. Lalu lintas ini mencakup panggilan ke webhook masuk dan penyedia OIDC. Amazon EKS tidak membuat antarmuka jaringan keluar 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 bidang 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/0 untuk IPv4, dan ::/0 untuk IPv6. Perangkat keluar dapat berupa gateway NAT, instance NAT, firewall, atau gateway transit ke VPC keluar terpusat. Pilihan perangkat keluar ada di tangan Anda; Amazon EKS hanya mengharuskan jalur 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 mengizinkan lalu lintas keluar dan rentang port ephemeral inbound 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 untuk mencapai titik akhir di zona host pribadi Route 53 dan DNS lokal yang diteruskan melalui titik akhir Route 53 Resolver.

  • Kumpulan opsi DHCP VPC Anda harus disertakan AmazonProvidedDNS dalam daftar server nama domainnya. Ini diperlukan untuk bidang kontrol untuk menyelesaikan nama DNS dalam VPC. Jika cluster Anda menggunakan titik akhir webhook eksternal atau penyedia OIDC dengan nama DNS publik, resolver juga harus menyelesaikan nama host publik. Pastikan resolver dapat menangani VPC dan resolusi DNS publik.

Tabel berikut merangkum lalu lintas yang dikirim pesawat kontrol melalui VPC Anda dalam mode: CUSTOMER_ROUTED

Lalu Lintas Tujuan Port Catatan

Webhook penerimaan

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 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 keluar Anda. Ini mengharuskan tabel rute, grup keamanan, dan ACL jaringan memungkinkan lalu lintas melintasi kluster ENI antara bidang kontrol dan node Anda.

catatan

Hanya lalu lintas yang tercantum dalam tabel ini yang dipengaruhi oleh konfigurasi keluar Anda. EKS-managed lalu lintas pesawat kontrol (seperti komunikasi dengan etcd, CloudWatch Log, dan layanan EKS internal) berlanjut melalui jalur jaringan ter AWS kelola dan tidak terpengaruh oleh konfigurasi VPC Anda.

Buat cluster dengan keluar yang dirutekan pelanggan

Anda dapat menentukan mode keluar bidang kontrol saat Anda membuat cluster baru.

contoh
AWS CLI

Jalankan perintah berikut. Ganti placeholder values dengan milik Anda sendiri.

aws eks create-cluster \ --name my-cluster \ --role-arn arn:aws:iam::111122223333:role/myAmazonEKSClusterRole \ --resources-vpc-config "subnetIds=subnet-ExampleID1,subnet-ExampleID2,securityGroupIds=sg-ExampleID1,controlPlaneEgressMode=CUSTOMER_ROUTED" \ --kubernetes-network-config "ipFamily=ipv4" \ --region region-code

Anda dapat menggunakan ipFamily=ipv6 untuk cluster IPv6. Saat menggunakan IPv6 dengan CUSTOMER_ROUTED mode, pastikan subnet Anda memiliki gateway internet khusus keluar untuk lalu lintas IPv6 selain gateway NAT untuk lalu lintas IPv4.

contoh
Konsol Manajemen AWS
  1. Buka konsol Amazon EKS.

  2. Pilih Tambah cluster, lalu pilih Buat.

  3. Pada halaman Jaringan, untuk Kontrol pesawat keluar, pilih Customer rout ed.

  4. Lengkapi konfigurasi cluster yang tersisa dan pilih Buat.

Untuk AWS CloudFormation, ControlPlaneEgressMode: CUSTOMER_ROUTED aturResourcesVpcConfig. Dukungan Terraform untuk bidang ini akan tersedia dalam rilis Penyedia di masa mendatang. AWS

catatan

Beralih ke CUSTOMER_ROUTED adalah operasi satu arah. Setelah Anda mengaktifkan keluar yang dirutekan pelanggan pada cluster, Anda tidak dapat kembali ke. AWS_MANAGED

Memperbarui cluster yang ada

Anda dapat mengubah mode keluar bidang kontrol pada cluster yang ada menggunakan update-cluster-config perintah.

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 ketika status ditampilkanSuccessful. Jenis pembaruannya adalahControlPlaneEgressUpdate. Pembaruan biasanya selesai dalam waktu 10 menit.

penting

Beralih ke CUSTOMER_ROUTED adalah operasi satu arah. Setelah Anda mengaktifkan keluar yang dirutekan pelanggan pada cluster, Anda tidak dapat kembali ke. AWS_MANAGED

Sebelum beralih, konfirmasikan bahwa VPC Anda memenuhi persyaratan diPrasyarat. 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 cluster IPv6 dengan keluaran yang dirutekan pelanggan, Anda perlu mengonfigurasi jalur keluar IPv4 dan IPv6.

Saat menjalankan cluster IPv6 (ipFamily=ipv6) dengan keluarCUSTOMER_ROUTED:

  • ENI bidang kontrol diberikan 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: ::/0 rute ke perangkat keluar IPv6 (misalnya, gateway internet khusus keluar).

  • Grup keamanan dan NACL harus mengizinkan lalu lintas pada kedua versi IP.

  • Jika penyedia OIDC atau titik akhir webhook Anda ada IPv4-only, pastikan IPv4 NAT berfungsi.

Pertimbangan-pertimbangan

Ingatlah poin-poin berikut saat Anda menggunakan pintu keluar pesawat kontrol yang dirutekan pelanggan:

  • Tanggung jawab Anda: Dalam CUSTOMER_ROUTED mode, Anda memiliki jalur jaringan dari bidang kontrol ke titik akhir eksternal Anda. Jika jalur tersebut rusak, operasi bidang kontrol yang bergantung padanya (seperti panggilan webhook penerimaan dan otentikasi OIDC) dapat gagal sampai Anda memulihkan konektivitas.

  • VPC-internal lalu lintas tidak terpengaruh: Lalu lintas antara bidang kontrol dan node Anda (misalnya, API kubelet pada port 10250) melalui kluster ENI tidak bergantung pada perangkat keluar Anda.

  • Mode Otomatis EKS: Perutean keluar bidang kontrol bekerja dengan cara yang sama pada cluster Mode Standar dan Mode 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 EKS Capabilities tidak dialihkan melalui VPC Anda oleh fitur ini.

  • Pengamatan: Jika Anda mengaktifkan Log Aliran VPC pada subnet VPC atau cluster, Anda dapat mengamati lalu lintas 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 keluar mana yang dapat menentukan kapan mereka membuat atau memperbarui cluster.

Kunci kondisi berlaku untuk tindakan berikut:

  • eks:CreateCluster

  • eks:UpdateClusterConfig

Misalnya, SCP berikut menolak pembuatan cluster 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 memaksakan bahwa semua cluster baru dan yang diperbarui di organisasi Anda menggunakan CUSTOMER_ROUTED mode keluar.

Konfigurasi penyedia OIDC

Jika cluster 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 cluster. Tidak ada OIDC-specific pengaturan; ia menggunakan jalur keluar yang sama yang Anda konfigurasikan di Pras yarat. Untuk mengizinkannya:

  1. Konfirmasikan subnet bidang kontrol memiliki rute yang mencakup titik akhir OIDC (biasanya rute default ke perangkat keluar Anda, seperti gateway NAT).

  2. Konfirmasikan grup keamanan cluster mengizinkan TCP 443 keluar.

  3. Konfirmasikan NACL subnet memungkinkan TCP 443 keluar dan lalu lintas kembali 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-langkah pemecahan masalah lihatPenyedia OIDC tidak terjangkau.

Verifikasi konektivitas

Setelah mengonfigur CUSTOMER_ROUTED asi keluar, verifikasi bahwa bidang kontrol dapat mencapai sumber daya VPC Anda:

  1. Periksa mode keluar saat ini: Konfirmasikan cluster menggunakan mode yang Anda harapkan.

    aws eks describe-cluster --name my-cluster \ --query "cluster.resourcesVpcConfig.controlPlaneEgressMode" \ --region region-code
  2. Periksa status cluster: Cluster harus dalam ACTIVE status.

    aws eks describe-cluster --name my-cluster --query "cluster.status" --region region-code
  3. Uji konektivitas webhook: Jika Anda memiliki webhook penerimaan yang dikonfigurasi, buat sumber daya yang memicu webhook dan konfirmasikan berhasil.

  4. Verifikasi pendaftaran node: Luncurkan node dan konfirmasikan berhasil bergabung dengan cluster.

    kubectl get nodes
  5. Periksa OIDC: Jika menggunakan peran IAM untuk akun layanan (IRSA), verifikasi bahwa pod dapat mengambil peran IAM mereka.

Untuk mengatasi masalah umum, lihatMemecahkan masalah jalan keluar pesawat kontrol.

📝 Edit halaman ini di GitHub