Menginstal AWS Load Balancer Controller dengan Helm - Amazon EKS

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 di GitHub.

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.

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. Jika peran ini ada, lewati ke Langkah 2: Instal AWS Load Balancer Controller.

  1. 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
  1. 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.

  2. 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 ganti arn: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

  1. Tambahkan repositori bagan eks-charts Helm. AWS mempertahankan repositori ini aktif. GitHub

    $ helm repo add eks https://aws.github.io/eks-charts
  2. Perbarui repo lokal Anda untuk memastikan bahwa Anda memiliki bagan terbaru.

    $ helm repo update eks
  3. 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
    1. 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

    2. 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 ke upgrade dalam perintah sebelumnya.

helm installPerintah secara otomatis menginstal definisi sumber daya kustom (CRDs) untuk pengontrol. helm upgradePerintah 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

  1. 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.

  2. 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.