Buat IngressClass untuk mengkonfigurasi Application Load Balancer - Amazon EKS

Bantu tingkatkan halaman ini

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

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.

Buat IngressClass untuk mengkonfigurasi Application Load Balancer

EKSMode Otomatis mengotomatiskan tugas rutin untuk penyeimbangan beban, termasuk mengekspos aplikasi cluster ke internet.

AWS menyarankan menggunakan Application Load Balancers (ALB) untuk melayani HTTP dan HTTPS lalu lintas. Application Load Balancers dapat merutekan permintaan berdasarkan konten permintaan. Untuk informasi selengkapnya tentang Application Load Balancers, lihat Apa itu Elastic Load Balancing?

EKSMode Otomatis membuat dan mengkonfigurasi Application Load Balancers (). ALBs Misalnya, Mode EKS Otomatis membuat penyeimbang beban saat Anda membuat objek Ingress Kubernetes dan mengonfigurasinya untuk merutekan lalu lintas ke beban kerja klaster Anda.

Ikhtisar

  1. Buat IngressClassParams sumber daya, tentukan nilai konfigurasi AWS tertentu seperti sertifikat yang akan digunakan SSL TLS untuk/dan VPC Subnet.

  2. Buat IngressClass sumber daya, tentukan bahwa Mode EKS Otomatis akan menjadi pengontrol untuk sumber daya.

  3. Buat Ingress sumber daya yang mengaitkan HTTP jalur dan port dengan beban kerja cluster.

  4. EKSMode Otomatis akan membuat Application Load Balancer yang menunjuk ke beban kerja yang ditentukan dalam Ingress sumber daya, menggunakan konfigurasi penyeimbang beban yang ditentukan dalam sumber daya. IngressClassParams

Prasyarat

  • EKSMode Otomatis Diaktifkan di Amazon EKS Cluster

  • Kubectl dikonfigurasi untuk terhubung ke klaster Anda

    • Anda dapat menggunakan kubectl apply -f <filename> untuk menerapkan contoh YAML file konfigurasi di bawah ini ke cluster Anda.

Langkah 1: Buat IngressClassParams

Buat IngressClassParams objek untuk menentukan opsi konfigurasi AWS tertentu untuk Application Load Balancer. Gunakan referensi di bawah ini untuk memperbarui YAML file sampel.

Perhatikan nama yang Anda tetapkan untuk IngressClassParams sumber daya, Anda akan membutuhkannya di langkah berikutnya.

apiVersion: eks.amazonaws.com/v1 kind: IngressClassParams metadata: name: alb spec: scheme: internet-facing

Langkah 2: Buat IngressClass

Buat IngressClass yang mereferensikan nilai konfigurasi AWS tertentu yang ditetapkan dalam IngressClassParams sumber daya. Perhatikan namaIngressClass. Dalam contoh ini, keduanya IngressClass dan IngressClassParams diberi namaalb.

Gunakan is-default-class anotasi untuk mengontrol apakah Ingress sumber daya harus menggunakan kelas ini secara default.

apiVersion: networking.k8s.io/v1 kind: IngressClass metadata: name: alb annotations: # Use this annotation to set an IngressClass as Default # If an Ingress doesn't specify a class, it will use the Default ingressclass.kubernetes.io/is-default-class: "true" spec: # Configures the IngressClass to use EKS Auto Mode controller: eks.amazonaws.com/alb parameters: apiGroup: eks.amazonaws.com kind: IngressClassParams # Use the name of the IngressClassParams set in the previous step name: alb

Untuk informasi selengkapnya tentang opsi konfigurasi, lihatIngressClassParams Referensi.

Langkah 3: Buat Ingress

Buat sumber Ingress daya. Tujuan dari sumber daya ini adalah untuk mengaitkan path dan port pada Application Load Balancer dengan beban kerja di cluster Anda.

Untuk informasi selengkapnya tentang mengonfigurasi resource ini, lihat Ingress di Dokumentasi Kubernetes.

apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: 2048-ingress spec: # this matches the name of IngressClass. # this can be omitted if you have a default ingressClass in cluster: the one with ingressclass.kubernetes.io/is-default-class: "true" annotation ingressClassName: alb rules: - http: paths: - path: /* pathType: ImplementationSpecific backend: service: name: <your-service> port: number: 80

Langkah 4: Periksa Status

Gunakan kubectl untuk menemukan statusIngress. Diperlukan beberapa menit agar penyeimbang beban tersedia.

Gunakan nama Ingress sumber daya yang Anda tetapkan pada langkah sebelumnya.

kubectl get ingress <ingress-name>

Setelah sumber daya siap, ambil nama domain penyeimbang beban.

kubectl get ingress api-ingress -o jsonpath='{.status.loadBalancer.ingress[0].hostname}'

Untuk melihat layanan di browser web, tinjau port dan jalur yang ditentukan dalam Ingress penyelamatan.

Langkah 5: Pembersihan

Untuk membersihkan penyeimbang beban, gunakan perintah berikut:

kubectl delete ingress <ingress-name>

EKSMode Otomatis akan secara otomatis menghapus penyeimbang beban terkait di AWS akun Anda.

IngressClassParams Referensi

Tabel di bawah ini adalah referensi cepat untuk opsi konfigurasi yang umum digunakan.

Bidang Deskripsi Nilai Contoh

scheme

Mendefinisikan apakah internal atau ALB menghadap ke internet

internet-facing

namespaceSelector

Membatasi ruang nama mana yang dapat menggunakan ini IngressClass

environment: prod

group.name

Kelompokkan beberapa Ingresses untuk berbagi satu ALB

retail-apps

ipAddressType

Menetapkan jenis alamat IP untuk ALB

dualstack

subnets.ids

Daftar subnet IDs untuk penyebaran ALB

subnet-xxxx, subnet-yyyy

subnets.tags

Tag filter untuk memilih subnet ALB

Environment: prod

certificateARNs

ARNsSSLSertifikat yang akan digunakan

arn:aws:acm:region:account:certificate/id

tags

Tag khusus untuk AWS sumber daya

Environment: prod, Team: platform

loadBalancerAttributes

Atribut khusus penyeimbang beban

idle_timeout.timeout_seconds: 60

Pertimbangan

  • Anda tidak dapat menggunakan Anotasi pada IngressClass untuk mengonfigurasi penyeimbang beban dengan EKS Mode Otomatis.

  • Anda harus memperbarui IAM Peran Cluster untuk mengaktifkan propagasi tag dari Kubernetes ke sumber daya Load AWS Balancer. Untuk informasi selengkapnya, lihat AWS Tag khusus untuk sumber daya EKS Otomatis.

  • Untuk informasi tentang mengaitkan sumber daya dengan Mode EKS Otomatis atau Pengontrol Load AWS Balancer yang dikelola sendiri, lihat. Referensi Migrasi

  • Untuk informasi tentang memperbaiki masalah dengan penyeimbang beban, lihat. Memecahkan Masalah Mode Otomatis EKS

  • Untuk pertimbangan lebih lanjut tentang penggunaan kemampuan load balancing Mode EKS Otomatis, lihat. Penyeimbangan beban

Tabel berikut memberikan perbandingan rinci perubahan, anotasi Ingress IngressClassParams, dan TargetGroupBinding konfigurasi untuk EKS Mode Otomatis. Tabel ini menyoroti perbedaan utama antara kemampuan penyeimbangan beban Mode EKS Otomatis dan pengontrol penyeimbang beban sumber terbuka, termasuk perubahan API versi, fitur yang tidak digunakan lagi, dan nama parameter yang diperbarui.

IngressClassParams

Sebelumnya Baru Deskripsi

elbv2.k8s.aws/v1beta1

eks.amazonaws.com/v1

APIperubahan versi

spec.certificateArn

spec.certificateARNs

Support untuk beberapa sertifikat ARNs

spec.subnets.tags

spec.subnets.matchTags

Skema pencocokan subnet yang diubah

spec.listeners.listenerAttributes

spec.listeners.attributes

Penamaan atribut yang disederhanakan

Anotasi masuk

Sebelumnya Baru Deskripsi

kubernetes.io/ingress.class

Tidak didukung

Gunakan spec.ingressClassName pada objek Ingress

alb.ingress.kubernetes.io/group.name

Tidak didukung

Tentukan grup IngressClass hanya

alb.ingress.kubernetes.io/waf-acl-id

Tidak didukung

Gunakan WAF v2 sebagai gantinya

alb.ingress.kubernetes.io/web-acl-id

Tidak didukung

Gunakan WAF v2 sebagai gantinya

alb.ingress.kubernetes.io/shield-advanced-protection

Tidak didukung

Integrasi Shield dinonaktifkan

TargetGroupBinding

Sebelumnya Baru Deskripsi

elbv2.k8s.aws/v1beta1

eks.amazonaws.com/v1

APIperubahan versi

spec.targetTypeopsional

spec.targetTypediperlukan

Spesifikasi tipe target eksplisit

spec.networking.ingress.from

Tidak didukung

Tidak lagi mendukung NLB tanpa grup keamanan

📝 Edit halaman ini GitHub