

 **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 Helm
<a name="lbc-helm"></a>

**Tip**  
 [Daftar](https://aws-experience.com/emea/smb/events/series/get-hands-on-with-amazon-eks?trk=4a9b4147-2490-4c63-bc9f-f8a84b122c8c&sc_channel=el) untuk lokakarya Amazon EKS mendatang.

**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](automode.md).

Topik ini menjelaskan cara menginstal AWS Load Balancer Controller menggunakan Helm, manajer paket untuk Kubernetes, dan. `eksctl` Pengontrol diinstal dengan opsi default. Untuk informasi selengkapnya tentang pengontrol, termasuk detail tentang mengonfigurasinya dengan anotasi, lihat Dokumentasi [AWS Pengontrol Load Balancer aktif](https://kubernetes-sigs.github.io/aws-load-balancer-controller/). GitHub

Pada langkah-langkah berikut, ganti nilai contoh dengan nilai Anda sendiri.

## Prasyarat
<a name="lbc-prereqs"></a>

Sebelum memulai tutorial ini, Anda harus menyelesaikan langkah-langkah berikut:
+ Buat klaster Amazon EKS. Untuk membuatnya, lihat [Memulai dengan Amazon EKS](getting-started.md).
+ Instal [Helm](https://helm.sh/docs/helm/helm_install/) di mesin lokal Anda.
+ [Pastikan bahwa plugin Amazon VPC CNI Anda untuk Kubernetes,`kube-proxy`, dan add-on CoreDNS berada pada versi minimum yang tercantum dalam token akun Layanan.](service-accounts.md#boundserviceaccounttoken-validated-add-on-versions)
+ Pelajari tentang konsep AWS Elastic Load Balancing. Untuk informasi selengkapnya, silakan lihat [Panduan Pengguna Penyeimbang Beban Elastis](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/).
+ [Pelajari tentang [layanan](https://kubernetes.io/docs/concepts/services-networking/service/) Kubernetes dan sumber daya ingress.](https://kubernetes.io/docs/concepts/services-networking/ingress/)

### Pertimbangan-pertimbangan
<a name="lbc-considerations"></a>

Sebelum melanjutkan dengan langkah-langkah konfigurasi di halaman ini, pertimbangkan hal berikut:
+ Kebijakan dan role (`AmazonEKSLoadBalancerControllerRole`) IAM dapat digunakan kembali di beberapa kluster EKS di akun yang sama. AWS 
+ Jika Anda menginstal controller pada cluster yang sama di mana role (`AmazonEKSLoadBalancerControllerRole`) awalnya dibuat, pergi ke [Langkah 2: Instal Load Balancer Controller](#lbc-helm-install) setelah memverifikasi peran ada.
+ Jika Anda menggunakan IAM Roles for Service Accounts (IRSA), IRSA harus disiapkan untuk setiap cluster, dan ARN penyedia OpenID Connect (OIDC) dalam kebijakan kepercayaan peran khusus untuk setiap kluster EKS. Selain itu, jika Anda menginstal pengontrol pada klaster baru dengan yang sudah ada`AmazonEKSLoadBalancerControllerRole`, perbarui kebijakan kepercayaan peran untuk menyertakan penyedia OIDC klaster baru dan buat akun layanan baru dengan anotasi peran yang sesuai. Untuk menentukan apakah Anda sudah memiliki penyedia OIDC, atau membuatnya, lihat. [Buat penyedia IAM OIDC untuk klaster Anda](enable-iam-roles-for-service-accounts.md)

## Langkah 1: Buat Peran IAM menggunakan `eksctl`
<a name="lbc-helm-iam"></a>

Langkah-langkah berikut mengacu pada versi rilis AWS Load Balancer Controller **v2.14.1**. Untuk informasi selengkapnya tentang semua rilis, lihat [Halaman Rilis AWS Load Balancer Controller](https://github.com/kubernetes-sigs/aws-load-balancer-controller/releases/) di. GitHub

1. Unduh kebijakan IAM untuk AWS Load Balancer Controller yang memungkinkannya melakukan panggilan atas nama AWS APIs Anda.

   ```
   curl -O https://raw.githubusercontent.com/kubernetes-sigs/aws-load-balancer-controller/v2.14.1/docs/install/iam_policy.json
   ```
   + Jika Anda adalah AWS partisi non-standar, seperti Pemerintah atau wilayah Tiongkok, [tinjau kebijakan tersebut GitHub dan unduh](https://github.com/kubernetes-sigs/aws-load-balancer-controller/tree/main/docs/install) kebijakan yang sesuai untuk wilayah Anda.

1. 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 Konsol Manajemen AWS, 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**.

1. Ganti nilai untuk nama cluster, kode wilayah, dan ID akun.

   ```
   eksctl create iamserviceaccount \
       --cluster=<cluster-name> \
       --namespace=kube-system \
       --name=aws-load-balancer-controller \
       --attach-policy-arn=arn:aws: iam::<AWS_ACCOUNT_ID>:policy/AWSLoadBalancerControllerIAMPolicy \
       --override-existing-serviceaccounts \
       --region <aws-region-code> \
       --approve
   ```

## Langkah 2: Instal AWS Load Balancer Controller
<a name="lbc-helm-install"></a>

1. Tambahkan repositori bagan `eks-charts` Helm. AWS mempertahankan [repositori ini](https://github.com/aws/eks-charts) aktif. GitHub

   ```
   helm repo add eks https://aws.github.io/eks-charts
   ```

1. Perbarui repo lokal Anda untuk memastikan bahwa Anda memiliki bagan terbaru.

   ```
   helm repo update eks
   ```

1. Instal AWS Load Balancer Controller.

   Jika Anda menerapkan pengontrol ke EC2 node Amazon yang [membatasi akses ke layanan metadata EC2 instans Amazon (IMDS)](https://aws.github.io/aws-eks-best-practices/security/docs/iam/#restrict-access-to-the-instance-profile-assigned-to-the-worker-node), atau jika Anda menerapkan ke Fargate atau Amazon EKS Hybrid Nodes, tambahkan flag berikut ke perintah berikut: `helm`
   +  `--set region=region-code ` 
   +  `--set vpcId=vpc-xxxxxxxx ` 

     Ganti *my-cluster* dengan nama klaster Anda. Dalam perintah berikut, `aws-load-balancer-controller` adalah akun layanan Kubernetes yang Anda buat pada langkah sebelumnya.

     Untuk informasi selengkapnya tentang mengonfigurasi bagan helm, lihat [values.yaml](https://github.com/aws/eks-charts/blob/master/stable/aws-load-balancer-controller/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 \
       --version 1.14.0
     ```

**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` 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 file 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
<a name="lbc-helm-verify"></a>

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 menggunakan manifes Kubernetes, Anda hanya memiliki satu replika.

1. Sebelum menggunakan pengontrol untuk menyediakan AWS sumber daya, klaster Anda harus memenuhi persyaratan tertentu. Lihat informasi yang lebih lengkap di [Rute aplikasi dan lalu lintas HTTP dengan Application Load Balancers](alb-ingress.md) dan [Rute lalu lintas TCP dan UDP dengan Network Load Balancers](network-load-balancing.md).