Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menginstal AWS Load Balancer Controller dengan Helm
Topik ini menjelaskan cara menginstal AWS Load Balancer Controller menggunakan Helm, manajer paket untuk Kubernetes, daneksctl
. Pengontrol diinstal dengan opsi default. Untuk informasi selengkapnya tentang pengontrol, termasuk detail tentang mengonfigurasinya dengan anotasi, lihat Dokumentasi Pengontrol Load AWS Balancer
Pada langkah-langkah berikut, ganti example values
dengan nilai-nilai Anda sendiri.
Prasyarat
Sebelum memulai tutorial ini, Anda harus menginstal dan mengkonfigurasi alat dan sumber daya berikut yang Anda butuhkan untuk membuat dan mengelola EKS cluster Amazon.
-
EKSCluster Amazon yang ada. Untuk menyebarkan satu, lihatMemulai dengan Amazon EKS.
-
AWS Identity and Access Management yang sudah ada (IAM) OpenID Connect (OIDC) penyedia untuk cluster Anda. Untuk menentukan apakah Anda sudah memiliki satu, atau harus membuat satu, lihat Buat sebuah IAM OIDC penyedia untuk klaster Anda.
-
Pastikan bahwa Anda Amazon VPC CNI plugin for Kubernetes,
kube-proxy
, dan CoreDNS add-on berada pada versi minimum yang tercantum dalam token akun Layanan. -
Keakraban dengan AWS Elastic Load Balancing. Untuk informasi selengkapnya, silakan lihat Panduan Pengguna Penyeimbang Beban Elastis.
-
Keakraban dengan layanan
Kubernetes dan sumber daya ingress. -
Helm
dipasang secara lokal.
Langkah 1: Buat IAM Peran menggunakan eksctl
catatan
Anda hanya perlu membuat IAM Peran untuk AWS Load Balancer Controller satu per AWS akun. Periksa apakah AmazonEKSLoadBalancerControllerRole
ada di IAMKonsol
-
Unduh IAM kebijakan untuk AWS Load Balancer Controller yang memungkinkannya melakukan AWS APIs panggilan atas nama Anda.
- AWS
-
**
$ curl -O https://raw.githubusercontent.com/kubernetes-sigs/aws-load-balancer-controller/v2.7.2/docs/install/iam_policy.json
- AWS GovCloud (AS)
-
**
$ curl -O https://raw.githubusercontent.com/kubernetes-sigs/aws-load-balancer-controller/v2.7.2/docs/install/iam_policy_us-gov.json
$ mv iam_policy_us-gov.json iam_policy.json
-
Buat IAM kebijakan menggunakan kebijakan yang diunduh pada 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 ELBlayanan, tetapi tidak untuk layanan ELBv2. Ini terjadi karena beberapa tindakan dalam kebijakan ada untuk ELBv2, tetapi tidak untuk ELB. Anda dapat mengabaikan peringatan untuk ELB.
-
Ganti
my-cluster
dengan nama cluster Anda,111122223333
dengan ID akun Anda, dan kemudian jalankan perintah. Jika cluster Anda berada di AWS Wilayah AWS GovCloud (AS-Timur) atau AWS GovCloud (AS-Barat), maka gantiarn:aws:
dengan.arn:aws-us-gov:
$ eksctl create iamserviceaccount \ --cluster=my-cluster \ --namespace=kube-system \ --name=aws-load-balancer-controller \ --role-name AmazonEKSLoadBalancerControllerRole \ --attach-policy-arn=arn:aws: iam::111122223333:policy/AWSLoadBalancerControllerIAMPolicy \ --approve
Langkah 2: Instal AWS Load Balancer Controller
-
Tambahkan repositori bagan
eks-charts
Helm. AWS mempertahankan repositori iniaktif. GitHub $ helm repo add eks https://aws.github.io/eks-charts
-
Perbarui repo lokal Anda untuk memastikan bahwa Anda memiliki bagan terbaru.
$ helm repo update eks
-
Instal AWS Load Balancer Controller.
Ganti
my-cluster
dengan nama cluster Anda. Dalam perintah berikut,aws-load-balancer-controller
adalah Kubernetes akun layanan yang Anda buat pada langkah sebelumnya.Untuk informasi selengkapnya tentang mengonfigurasi bagan helm, lihat values.yaml
di. GitHub $ helm install aws-load-balancer-controller eks/aws-load-balancer-controller \ -n kube-system \ --set clusterName=my-cluster \ --set serviceAccount.create=false \ --set serviceAccount.name=aws-load-balancer-controller
-
Jika Anda menerapkan pengontrol ke EC2 node Amazon yang membatasi akses ke layanan metadata EC2 instans Amazon (IMDS)
, atau jika Anda menerapkan ke Fargate, tambahkan flag berikut ke perintah berikut: helm
-
--set region=
region-code
-
--set vpcId=
vpc-xxxxxxxx
-
-
Untuk melihat versi Helm Chart dan Load Balancer Controller yang tersedia, gunakan perintah berikut:
helm search repo eks/aws-load-balancer-controller --versions
penting
Bagan yang diterapkan tidak menerima pembaruan keamanan secara otomatis. Anda perlu memutakhirkan secara manual ke bagan yang lebih baru ketika bagan tersedia. Saat memutakhirkan, ubah
install
keupgrade
dalam perintah sebelumnya.
-
helm install
Perintah secara otomatis menginstal definisi sumber daya kustom (CRDs) untuk pengontrol. helm upgrade
Perintah tidak. Jika Anda menggunakan, helm upgrade,
Anda harus menginstal secara manual CRDs. Jalankan perintah berikut untuk menginstal CRDs:
wget https://raw.githubusercontent.com/aws/eks-charts/master/stable/aws-load-balancer-controller/crds/crds.yaml kubectl apply -f crds.yaml
Langkah 3: 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 menerapkan menggunakan Kubernetes manifes, 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 HTTP lalu lintas dengan Application Load Balancers dan Rute TCP dan UDP lalu lintas dengan Network Load Balancers.