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.
Buat IngressClass untuk mengonfigurasi Penyeimbang Beban Aplikasi
Mode Otomatis EKS mengotomatiskan tugas rutin untuk penyeimbangan beban, termasuk mengekspos aplikasi cluster ke internet.
AWS menyarankan menggunakan Application Load Balancers (ALB) untuk melayani lalu lintas HTTP dan HTTPS. Application Load Balancers dapat merutekan permintaan berdasarkan konten permintaan. Untuk informasi selengkapnya tentang Penyeimbang Beban Aplikasi, lihat Apa itu Elastic Load Balancing?
Mode Otomatis EKS membuat dan mengonfigurasi Penyeimbang Beban Aplikasi (ALB). Misalnya, Mode Otomatis EKS membuat penyeimbang beban saat Anda membuat objek Ingress Kubernetes dan mengonfigurasinya untuk merutekan lalu lintas ke beban kerja cluster Anda.
Gambaran umum
-
Buat beban kerja yang ingin Anda ekspos ke internet.
-
Buat
IngressClassParamssumber daya, menentukan nilai konfigurasi AWS tertentu seperti sertifikat yang akan digunakan untuk SSL/TLS dan Subnets VPC. -
Buat
IngressClasssumber daya, tentukan bahwa Mode Otomatis EKS akan menjadi pengontrol untuk sumber daya. -
Buat
Ingresssumber daya yang mengaitkan jalur HTTP dan port dengan beban kerja cluster.
Mode Otomatis EKS 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
-
Mode Otomatis EKS Diaktifkan di Cluster Amazon EKS
-
Kubectl dikonfigurasi untuk terhubung ke cluster Anda
-
Anda dapat menggunakan
kubectl apply -f <filename>untuk menerapkan file konfigurasi YAML sampel di bawah ini ke cluster Anda.
-
catatan
Mode Otomatis EKS memerlukan tag subnet untuk mengidentifikasi subnet publik dan pribadi.
Jika Anda membuat cluster denganeksctl, Anda sudah memiliki tag ini.
Pelajari cara Tag subnet untuk Mode Otomatis EKS.
Langkah 1: Buat beban kerja
Untuk memulai, buat beban kerja yang ingin Anda ekspos ke internet. Ini bisa berupa sumber daya Kubernetes yang melayani lalu lintas HTTP, seperti Deployment atau Service.
Contoh ini menggunakan layanan HTTP sederhana service-2048 yang disebut yang mendengarkan pada port80. Buat layanan ini dan penerapannya dengan menerapkan manifes berikut,2048-deployment-service.yaml:
--- apiVersion: apps/v1 kind: Deployment metadata: name: deployment-2048 spec: selector: matchLabels: app.kubernetes.io/name: app-2048 replicas: 2 template: metadata: labels: app.kubernetes.io/name: app-2048 spec: containers: - image: public.ecr.aws/l6m2t8p7/docker-2048:latest imagePullPolicy: Always name: app-2048 ports: - containerPort: 80 --- apiVersion: v1 kind: Service metadata: name: service-2048 spec: ports: - port: 80 targetPort: 80 protocol: TCP type: NodePort selector: app.kubernetes.io/name: app-2048
Terapkan konfigurasi ke cluster Anda:
kubectl apply -f 2048-deployment-service.yaml
Sumber daya yang tercantum di atas akan dibuat di namespace default. Anda dapat memverifikasi ini dengan menjalankan perintah berikut:
kubectl get all -n default
Langkah 2: Buat IngressClassParams
Buat IngressClassParams objek untuk menentukan opsi konfigurasi AWS tertentu untuk Application Load Balancer. Dalam contoh ini, kita membuat IngressClassParams sumber daya bernama alb (yang akan Anda gunakan pada langkah berikutnya) yang menentukan skema penyeimbang beban seperti internet-facing dalam file yang disebutalb-ingressclassparams.yaml.
apiVersion: eks.amazonaws.com/v1 kind: IngressClassParams metadata: name: alb spec: scheme: internet-facing
Terapkan konfigurasi ke cluster Anda:
kubectl apply -f alb-ingressclassparams.yaml
Langkah 3: Buat IngressClass
Buat IngressClass yang mereferensi AWS kan nilai konfigurasi tertentu yang ditetapkan dalam IngressClassParams sumber daya dalam file bernamaalb-ingressclass.yaml. Perhatikan namaIngressClass. Dalam contoh ini, keduanya IngressClass dan IngressClassParams diberi namaalb.
Gunakan an is-default-class otasi 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.
Terapkan konfigurasi ke cluster Anda:
kubectl apply -f alb-ingressclass.yaml
Langkah 4: Buat Ingress
Buat Ingress sumber daya dalam file bernamaalb-ingress.yaml. Tujuan sumber daya ini adalah untuk mengaitkan jalur dan port pada Application Load Balancer dengan beban kerja di cluster Anda. Untuk contoh ini, kita membuat Ingress sumber daya bernama 2048-ingress yang merutekan lalu lintas ke layanan bernama service-2048 pada port 80.
Untuk informasi selengkapnya tentang mengkonfigurasi sumber daya ini, lihat Ingress
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: service-2048 port: number: 80
Terapkan konfigurasi ke cluster Anda:
kubectl apply -f alb-ingress.yaml
Langkah 5: Periksa Status
Gunakan kubectl untuk menemukan statusIngress. Diperlukan beberapa menit agar penyeimbang beban tersedia.
Gunakan nama sumber Ingress daya yang Anda tetapkan pada langkah sebelumnya. Contoh:
kubectl get ingress 2048-ingress
Setelah sumber daya siap, ambil nama domain penyeimbang beban.
kubectl get ingress 2048-ingress -o jsonpath='{.status.loadBalancer.ingress[0].hostname}'
Untuk melihat layanan di browser web, tinjau port dan jalur yang ditentukan dalam Ingress sumber daya.
Langkah 6: Pembersihan
Untuk membersihkan penyeimbang beban, gunakan perintah berikut:
kubectl delete ingress 2048-ingress kubectl delete ingressclass alb kubectl delete ingressclassparams alb
Mode Otomatis EKS 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 |
|---|---|---|
|
|
Mendefinisikan apakah ALB bersifat internal atau menghadap ke internet |
|
|
|
Membatasi ruang nama mana yang dapat menggunakan ini IngressClass |
|
|
|
Mengelompokkan beberapa Ingress untuk berbagi satu ALB |
|
|
|
Menetapkan jenis alamat IP untuk ALB |
|
|
|
Daftar ID subnet untuk penerapan ALB |
|
|
|
Filter tag untuk memilih subnet untuk ALB |
|
|
|
ARN sertifikat SSL untuk digunakan |
|
|
|
Tag kustom untuk AWS sumber daya |
|
|
|
Atribut khusus penyeimbang beban |
|
Pertimbangan-pertimbangan
-
Anda tidak dapat menggunakan Anotasi pada IngressClass a untuk mengkonfigurasi penyeimbang beban dengan Mode Otomatis EKS. IngressClass Konfigurasi harus dilakukan melalui IngressClassParams. Namun, Anda dapat menggunakan anotasi pada sumber daya Ingress individual untuk mengonfigurasi perilaku penyeimbang beban (seperti
alb.ingress.kubernetes.io/security-group-prefix-listsataualb.ingress.kubernetes.io/conditions.*). -
Anda tidak dapat mengatur ListenerAttribute dengan Mode Otomatis EKS.
-
Anda harus memperbarui Peran IAM Cluster untuk mengaktifkan propagasi tag dari Kubernetes ke AWS sumber daya Load Balancer. Untuk informasi selengkapnya, lihat Khusus AWS tag untuk EKS Sumber daya otomatis.
-
Untuk informasi tentang mengaitkan sumber daya dengan Mode Otomatis EKS atau Load Balancer Controller yang dikelola sendiri AWS , lihat. Referensi migrasi
-
Untuk informasi tentang memperbaiki masalah dengan penyeimbang beban, lihatMemecahkan Masalah Mode Otomatis EKS.
-
Untuk pertimbangan lebih lanjut tentang menggunakan kemampuan penyeimbangan beban Mode Otomatis EKS, lihatPenyeimbangan beban.
Tabel berikut memberikan perbandingan rinci perubahan, anotasi Ingress IngressClassParams, dan TargetGroupBinding konfigurasi untuk Mode Otomatis EKS. Tabel ini menyoroti perbedaan utama antara kemampuan penyeimbangan beban Mode Otomatis EKS dan pengontrol penyeimbang beban sumber terbuka, termasuk perubahan versi API, fitur usang, dan nama parameter yang diperbarui.
IngressClassParams
| Sebelumnya | Baru | Deskripsi |
|---|---|---|
|
|
|
Perubahan versi API |
|
|
|
Dukungan untuk beberapa ARN sertifikat |
|
|
|
Skema pencocokan subnet yang diubah |
|
|
Tidak didukung |
Belum didukung oleh Mode Otomatis EKS |
Anotasi Ingress
| Sebelumnya | Baru | Deskripsi |
|---|---|---|
|
|
Tidak didukung |
Gunakan |
|
|
Tidak didukung |
Tentukan grup IngressClass hanya |
|
|
Tidak didukung |
Gunakan WAF v2 sebagai gantinya |
|
|
Tidak didukung |
Gunakan WAF v2 sebagai gantinya |
|
|
Tidak didukung |
Segera datang |
|
|
Tidak didukung |
Dry-run paket saat ini tidak didukung |
|
|
Tidak didukung |
Pembuatan sertifikat ACM saat ini tidak didukung |
|
|
Tidak didukung |
ACM PCA ARN saat ini tidak didukung |
|
|
Tidak didukung |
Jenis Auth OIDC saat ini tidak didukung |
TargetGroupBinding
| Sebelumnya | Baru | Deskripsi |
|---|---|---|
|
|
|
Perubahan versi API |
|
|
|
Spesifikasi tipe target eksplisit |
|
|
Tidak didukung |
Tidak lagi mendukung NLB tanpa grup keamanan |
Untuk menggunakan TargetGroupBinding fitur kustom, Anda harus menandai grup target dengan tag eks: eks-cluster-name dengan nama cluster untuk memberikan pengontrol izin IAM yang diperlukan. Ketahuilah bahwa pengontrol akan menghapus grup target ketika TargetGroupBinding sumber daya atau cluster dihapus.