

 **Unterstützung für die Verbesserung dieser Seite beitragen** 

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Um zu diesem Benutzerhandbuch beizutragen, wählen Sie den GitHub Link **Diese Seite bearbeiten auf**, der sich im rechten Bereich jeder Seite befindet.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Installieren Sie den AWS Load Balancer Controller mit Helm
<a name="lbc-helm"></a>

**Tipp**  
 [Melden Sie sich](https://aws-experience.com/emea/smb/events/series/get-hands-on-with-amazon-eks?trk=4a9b4147-2490-4c63-bc9f-f8a84b122c8c&sc_channel=el) für bevorstehende Amazon EKS-Workshops an.

**Tipp**  
Mit Amazon EKS Auto Mode ist es nicht erforderlich, Netzwerk-Add-Ons zu installieren oder zu aktualisieren. Der Automatikmodus umfasst Funktionen für Pod-Netzwerke und Load Balancing.  
Weitere Informationen finden Sie unter [Automatisieren der Cluster-Infrastruktur mit dem EKS-Automatikmodus](automode.md).

In diesem Thema wird beschrieben, wie Sie den Load AWS Balancer Controller mit Helm, einem Paketmanager für Kubernetes, und installieren. `eksctl` Der Controller wird mit den Standardoptionen installiert. Weitere Informationen zum Controller, einschließlich Einzelheiten zur Konfiguration mit Anmerkungen, finden Sie in der [Load AWS Balancer Controller-Dokumentation](https://kubernetes-sigs.github.io/aws-load-balancer-controller/) unter. GitHub

Ersetzen Sie in den folgenden Schritten die Beispielwerte durch Ihre eigenen Werte.

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

Bevor Sie mit diesem Tutorial beginnen, müssen Sie die folgenden Schritte ausführen:
+ Erstellen Sie einen Amazon-EKS-Cluster. Informationen zum Erstellen finden Sie unter [Erste Schritte mit Amazon EKS](getting-started.md).
+ Installieren Sie [Helm](https://helm.sh/docs/helm/helm_install/) auf Ihrem lokalen Rechner.
+ Stellen Sie sicher, dass Ihr Amazon-VPC-CNI-Plugin für Kubernetes, `kube-proxy` und CoreDNS-Add-Ons die in den [Servicekonto-Token](service-accounts.md#boundserviceaccounttoken-validated-add-on-versions) aufgeführten Mindestversionen aufweist.
+ Erfahren Sie mehr über die Konzepte von AWS Elastic Load Balancing. Weitere Informationen finden Sie im [Elastic Load Balancing-Benutzerhandbuch](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/).
+ Erfahren Sie mehr über den Kubernetes-[Service](https://kubernetes.io/docs/concepts/services-networking/service/) und die [Ingress](https://kubernetes.io/docs/concepts/services-networking/ingress/)-Ressourcen.

### Überlegungen
<a name="lbc-considerations"></a>

Bevor Sie mit den Konfigurationsschritten auf dieser Seite fortfahren, beachten Sie Folgendes:
+ Die IAM-Richtlinie und die Rolle (`AmazonEKSLoadBalancerControllerRole`) können für mehrere EKS-Cluster im selben AWS Konto wiederverwendet werden.
+ Wenn Sie den Controller im selben Cluster installieren, in dem die Rolle (`AmazonEKSLoadBalancerControllerRole`) ursprünglich erstellt wurde, fahren Sie mit [Schritt 2: Installieren des Load Balancer Controllers](#lbc-helm-install) fort, nachdem Sie überprüft haben, ob die Rolle vorhanden ist.
+ Wenn Sie IAM-Rollen für Servicekonten (IRSA) verwenden, muss IRSA für jeden Cluster eingerichtet werden, und die OpenID Connect (OIDC)-Anbieter-ARN in der Vertrauensrichtlinie der Rolle ist für jeden EKS-Cluster spezifisch. Wenn Sie den Controller auf einem neuen Cluster mit einem vorhandenen `AmazonEKSLoadBalancerControllerRole` installieren, aktualisieren Sie außerdem die Vertrauensrichtlinie der Rolle, um den OIDC-Anbieter des neuen Clusters einzuschließen, und erstellen Sie ein neues Servicekonto mit der entsprechenden Rollen-Annotation. Informationen zum Feststellen, ob Sie bereits über einen OIDC-Anbieter verfügen oder einen erstellen müssen, finden Sie unter [Erstellen Sie einen IAM-OIDC-Anbieter für Ihren Cluster](enable-iam-roles-for-service-accounts.md).

## Schritt 1: IAM-Rolle mithilfe von `eksctl` erstellen
<a name="lbc-helm-iam"></a>

Die folgenden Schritte beziehen sich auf die Release-Version des Load AWS Balancer Controller **v2.14.1**. Weitere Informationen zu allen Versionen finden Sie auf der [Load AWS Balancer Controller-Release-Seite](https://github.com/kubernetes-sigs/aws-load-balancer-controller/releases/) unter GitHub.

1. Laden Sie eine IAM-Richtlinie für den Load AWS Balancer Controller herunter, mit der er in AWS APIs Ihrem Namen Anrufe tätigen kann.

   ```
   curl -O https://raw.githubusercontent.com/kubernetes-sigs/aws-load-balancer-controller/v2.14.1/docs/install/iam_policy.json
   ```
   + Wenn es sich bei Ihrer Partition um eine nicht standardmäßige AWS Partition handelt, wie z. B. eine Regierung oder eine Region China, [lesen Sie die Richtlinien auf GitHub](https://github.com/kubernetes-sigs/aws-load-balancer-controller/tree/main/docs/install) und laden Sie die entsprechende Richtlinie für Ihre Region herunter.

1. Erstellen Sie eine IAM-Richtlinie mit der im vorherigen Schritt heruntergeladenen Richtlinie.

   ```
   aws iam create-policy \
       --policy-name AWSLoadBalancerControllerIAMPolicy \
       --policy-document file://iam_policy.json
   ```
**Anmerkung**  
Wenn Sie sich die Richtlinie in ansehen AWS-Managementkonsole, zeigt die Konsole Warnungen für den **ELB-Dienst** an, aber nicht für den **ELB v2-Dienst**. Dies liegt daran, dass einige der Maßnahmen in der Richtlinie für **ELB v2**, aber nicht für **ELB** gelten. Sie können diese Warnungen für **ELB** ignorieren.

1. Ersetzen Sie die Werte für den Cluster-Namen, den Regions-Code und die Konto-ID.

   ```
   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
   ```

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

1. Fügen Sie das `eks-charts` Helm-Chart-Repository hinzu. AWS unterhält [dieses Repository](https://github.com/aws/eks-charts) auf GitHub.

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

1. Aktualisieren Sie Ihr lokales Repository, um sicherzustellen, dass Sie über die neuesten Charts verfügen.

   ```
   helm repo update eks
   ```

1. Installieren Sie den AWS Load Balancer Controller.

   Wenn Sie den Controller auf EC2 Amazon-Knoten bereitstellen, die [eingeschränkten Zugriff auf den Amazon EC2 Instance Metadata Service (IMDS)](https://aws.github.io/aws-eks-best-practices/security/docs/iam/#restrict-access-to-the-instance-profile-assigned-to-the-worker-node) haben, oder wenn Sie ihn auf Fargate- oder Amazon EKS-Hybridknoten bereitstellen, fügen Sie dem folgenden `helm` Befehl die folgenden Flags hinzu:
   +  `--set region=region-code ` 
   +  `--set vpcId=vpc-xxxxxxxx ` 

     Ersetzen Sie *my-cluster* mit dem Namen Ihres Clusters. Im folgenden Befehl ist `aws-load-balancer-controller` das Kubernetes-Servicekonto, das Sie in einem vorherigen Schritt erstellt haben.

     Weitere Informationen zur Konfiguration des Helmdiagramms finden Sie unter [values.yaml](https://github.com/aws/eks-charts/blob/master/stable/aws-load-balancer-controller/values.yaml) on. 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
     ```

**Wichtig**  
Das bereitgestellte Diagramm erhält keine automatischen Sicherheitsaktualisierungen. Sie müssen manuell auf ein neueres Diagramm aktualisieren, wenn es verfügbar wird. Wechseln Sie beim Upgrade *install* zum vorherigen `upgrade` Befehl.

Der `helm install` Befehl installiert automatisch die benutzerdefinierten Ressourcendefinitionen (CRDs) für den Controller. Der `helm upgrade`-Befehl installiert dies nicht. Wenn Sie das verwenden`helm upgrade,`, müssen Sie das manuell installieren CRDs. Führen Sie den folgenden Befehl aus, um das zu installieren CRDs:

```
wget https://raw.githubusercontent.com/aws/eks-charts/master/stable/aws-load-balancer-controller/crds/crds.yaml
kubectl apply -f crds.yaml
```

## Schritt 3: Überprüfen, ob der Controller installiert ist
<a name="lbc-helm-verify"></a>

1. Stellen Sie sicher, dass der Controller installiert ist.

   ```
   kubectl get deployment -n kube-system aws-load-balancer-controller
   ```

   Eine Beispielausgabe sieht wie folgt aus.

   ```
   NAME                           READY   UP-TO-DATE   AVAILABLE   AGE
   aws-load-balancer-controller   2/2     2            2           84s
   ```

   Sie erhalten die vorherige Ausgabe, wenn Sie mit Helm bereitgestellt haben. Wenn Sie mit dem Kubernetes-Manifest bereitgestellt haben, haben Sie nur ein Replikat.

1. Bevor Sie den Controller zur Bereitstellung von AWS Ressourcen verwenden können, muss Ihr Cluster bestimmte Anforderungen erfüllen. Weitere Informationen erhalten Sie unter [Anwendungen und HTTP-Datenverkehr mit Application Load Balancers weiterleiten](alb-ingress.md) und [Weiterleitung von TCP- und UDP-Datenverkehr mit Network Load Balancers](network-load-balancing.md).