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.
Instal AWS Load Balancer Controller dengan manifes
Tip
Dengan Amazon EKS Auto Mode, Anda tidak perlu menginstal atau meningkatkan add-on jaringan. Mode Otomatis mencakup jaringan pod dan kemampuan load balancing.
Untuk informasi selengkapnya, lihat Mengotomatiskan infrastruktur klaster dengan Mode Otomatis EKS.
Topik ini menjelaskan cara menginstal controller dengan mengunduh dan menerapkan manifes Kubernetes. Anda dapat melihat dokumentasi
Pada langkah-langkah berikut, ganti example values
dengan nilai-nilai Anda sendiri.
Prasyarat
Sebelum memulai tutorial ini, Anda harus menginstal dan mengonfigurasi alat-alat dan sumber daya yang Anda butuhkan berikut untuk membuat dan mengelola sebuah klaster Amazon EKS.
-
Sebuah klaster Amazon EKS yang sudah ada. Untuk menyebarkan satu, lihatMemulai dengan Amazon EKS.
-
Penyedia OpenID Connect (OIDC) AWS Identity and Access Management (IAM) yang sudah ada untuk klaster Anda. Untuk menentukan apakah Anda sudah memiliki satu, atau harus membuat satu, lihat Buat penyedia IAM OIDC untuk klaster Anda.
-
Keakraban dengan AWS Elastic Load Balancing. Untuk informasi selengkapnya, silakan lihat Panduan Pengguna Penyeimbang Beban Elastis.
-
Keakraban dengan layanan
Kubernetes dan sumber daya ingress.
Langkah 1: Konfigurasikan IAM
catatan
Anda hanya perlu membuat peran untuk AWS Load Balancer Controller satu per AWS akun. Periksa apakah AmazonEKSLoadBalancerControllerRole
ada di Konsol IAM
catatan
Contoh di bawah ini mengacu pada versi rilis AWS Load Balancer Controller v2.11.0. Untuk informasi selengkapnya tentang semua rilis, lihat Halaman Rilis AWS Load Balancer Controller
-
Unduh kebijakan IAM untuk AWS Load Balancer Controller yang memungkinkannya melakukan panggilan atas nama AWS APIs Anda.
-
Buat kebijakan IAM menggunakan kebijakan yang diunduh di langkah sebelumnya.
aws iam create-policy \ --policy-name AWSLoadBalancerControllerIAMPolicy \ --policy-document file://iam_policy.json
catatan
Jika Anda melihat kebijakan di AWS Management Console, konsol akan menampilkan peringatan untuk layanan ELB, tetapi tidak untuk layanan ELB v2. Ini terjadi karena beberapa tindakan dalam kebijakan ada untuk ELB v2, tetapi tidak untuk ELB. Anda dapat mengabaikan peringatan untuk ELB.
Langkah 2: Instal cert-manager
Instal cert-manager
menggunakan salah satu metode berikut untuk menyuntikkan konfigurasi sertifikat ke dalam webhook. Untuk informasi selengkapnya, lihat Memulai
Kami merekomendasikan menggunakan registri quay.io
kontainer untuk menginstalcert-manager
. Jika node Anda tidak memiliki akses ke registri quay.io
kontainer, Instal cert-manager
menggunakan Amazon ECR (lihat di bawah).
Langkah 3: Instal AWS Load Balancer Controller
-
Unduh spesifikasi pengendali. Untuk informasi selengkapnya tentang pengontrol, lihat dokumentasi
di GitHub. curl -Lo v2_11_0_full.yaml https://github.com/kubernetes-sigs/aws-load-balancer-controller/releases/download/v2.11.0/v2_11_0_full.yaml
-
Lakukan pengeditan berikut ke file.
-
Jika Anda mengunduh
v2_11_0_full.yaml
file, jalankan perintah berikut untuk menghapusServiceAccount
bagian dalam manifes. Jika Anda tidak menghapus bagian ini, anotasi yang diperlukan yang Anda buat ke akun layanan pada langkah sebelumnya akan ditimpa. Menghapus bagian ini juga mempertahankan akun layanan yang Anda buat pada langkah sebelumnya jika Anda menghapus pengontrol.sed -i.bak -e '690,698d' ./v2_11_0_full.yaml
Jika Anda mengunduh versi file yang berbeda, buka file di editor dan hapus baris berikut.
apiVersion: v1 kind: ServiceAccount metadata: labels: app.kubernetes.io/component: controller app.kubernetes.io/name: aws-load-balancer-controller name: aws-load-balancer-controller namespace: kube-system ---
-
Ganti
your-cluster-name
diDeployment
spec
bagian file dengan nama cluster Anda dengan menggantimy-cluster
dengan nama cluster Anda.sed -i.bak -e 's|your-cluster-name|my-cluster|' ./v2_11_0_full.yaml
-
Jika node Anda tidak memiliki akses ke repositori gambar Amazon EKS Amazon ECR, maka Anda perlu menarik gambar berikut dan mendorongnya ke repositori yang dapat diakses oleh node Anda. Untuk informasi selengkapnya tentang cara menarik, menandai, dan mendorong gambar ke repositori Anda sendiri, lihat. Salin gambar kontainer dari satu repositori ke repositori lain
public.ecr.aws/eks/aws-load-balancer-controller:v2.11.0
Tambahkan nama registri Anda ke manifes. Perintah berikut mengasumsikan bahwa nama repositori pribadi Anda sama dengan repositori sumber dan menambahkan nama registri pribadi Anda ke file. Ganti
111122223333.dkr.ecr.region-code.amazonaws.com
dengan registri Anda. Baris ini mengasumsikan bahwa Anda menamai repositori pribadi Anda sama dengan repositori sumber. Jika tidak, ubaheks/aws-load-balancer-controller
teks setelah nama registri pribadi Anda ke nama repositori Anda.sed -i.bak -e 's|public.ecr.aws/eks/aws-load-balancer-controller|111122223333.dkr.ecr.region-code.amazonaws.com/eks/aws-load-balancer-controller|' ./v2_11_0_full.yaml
-
(Diperlukan hanya untuk Fargate atau IMDS Terbatas)
Jika Anda menerapkan pengontrol ke EC2 node Amazon yang membatasi akses ke layanan metadata EC2 instans Amazon (IMDS), atau jika Anda menerapkan ke Fargate atau Amazon EKS Hybrid Nodes, tambahkan bagian
bawah. following parameters
- args:
[...] spec: containers: - args: - --cluster-name=your-cluster-name - --ingress-class=alb - --aws-vpc-id=vpc-xxxxxxxx - --aws-region=region-code [...]
-
-
Terapkan file.
kubectl apply -f v2_11_0_full.yaml
-
Unduh
IngressClass
danIngressClassParams
manifes ke cluster Anda.curl -Lo v2_11_0_ingclass.yaml https://github.com/kubernetes-sigs/aws-load-balancer-controller/releases/download/v2.11.0/v2_11_0_ingclass.yaml
-
Menerapkan manifes ke klaster Anda.
kubectl apply -f v2_11_0_ingclass.yaml
Langkah 4: Verifikasi bahwa pengontrol diinstal
-
Verifikasikan bahwa pengendali telah dipasang.
kubectl get deployment -n kube-system aws-load-balancer-controller
Contoh output adalah sebagai berikut.
NAME READY UP-TO-DATE AVAILABLE AGE aws-load-balancer-controller 2/2 2 2 84s
Anda menerima output sebelumnya jika Anda menerapkan menggunakan Helm. Jika Anda menggunakan manifes Kubernetes, Anda hanya memiliki satu replika.
-
Sebelum menggunakan pengontrol untuk menyediakan AWS sumber daya, klaster Anda harus memenuhi persyaratan tertentu. Untuk informasi selengkapnya, silakan lihat Rute aplikasi dan lalu lintas HTTP dengan Application Load Balancers dan Rute lalu lintas TCP dan UDP dengan Network Load Balancers.