Installieren Sie den AWS Load Balancer Controller mit Helm - Amazon EKS

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

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 EKS Auto Mode.

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

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

Voraussetzungen

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.

  • Installieren Sie Helm 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 aufgeführten Mindestversionen aufweist.

  • Erfahren Sie mehr über die Konzepte von AWS Elastic Load Balancing. Weitere Informationen finden Sie im Elastic Load Balancing-Benutzerhandbuch.

  • Erfahren Sie mehr über den Kubernetes-Service und die Ingress-Ressourcen.

Überlegungen

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

Schritt 1: IAM-Rolle mithilfe von eksctl erstellen

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 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 und laden Sie die entsprechende Richtlinie für Ihre Region herunter.

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

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

  1. Fügen Sie das eks-charts Helm-Chart-Repository hinzu. AWS unterhält dieses Repository auf GitHub.

    helm repo add eks https://aws.github.io/eks-charts
  2. Aktualisieren Sie Ihr lokales Repository, um sicherzustellen, dass Sie über die neuesten Charts verfügen.

    helm repo update eks
  3. 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) 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 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 verwendenhelm 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

  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.

  2. 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 und Weiterleitung von TCP- und UDP-Datenverkehr mit Network Load Balancers.