Hilf mit, diese Seite zu verbessern
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.
Wenn Sie zu diesem Benutzerhandbuch beitragen möchten, 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.
Tipp
Mit Amazon EKS Auto Mode müssen Sie keine Netzwerk-Add-Ons installieren oder aktualisieren. Der automatische Modus umfasst Pod-Netzwerk- und Lastausgleichsfunktionen.
Weitere Informationen finden Sie unter Automatisieren Sie die Cluster-Infrastruktur mit dem 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 Standardoptionen installiert. Weitere Informationen zum Controller, einschließlich Einzelheiten zur Konfiguration mit Anmerkungen, finden Sie in der Load AWS Balancer Controller-Dokumentation
Ersetzen Sie in den folgenden Schritten das example values
durch Ihre eigenen Werte.
Voraussetzungen
Bevor Sie mit diesem Tutorial beginnen, müssen Sie die folgenden Werkzeuge und Ressourcen installieren und konfigurieren, die Sie zum Erstellen und Verwalten eines Amazon-EKS-Clusters benötigen.
-
Ein vorhandener Amazon-EKS-Cluster. Informationen zum Bereitstellen finden Sie unter Erste Schritte mit Amazon EKS.
-
Ein vorhandener AWS Identity and Access Management (IAM) OpenID Connect (OIDC) -Anbieter für Ihren Cluster. Informationen zum Feststellen, ob Sie bereits über einen verfügen oder einen erstellen müssen, finden Sie unter Erstellen Sie einen IAM-OIDC-Anbieter für Ihren Cluster.
-
Vertrautheit mit AWS Elastic Load Balancing Weitere Informationen finden Sie im Elastic Load Balancing-Benutzerhandbuch.
-
Vertrautheit mit Kubernetes- Service
und Ingress -Ressourcen. -
Helm
ist lokal installiert.
Schritt 1: Erstellen Sie eine IAM-Rolle mit eksctl
Anmerkung
Das folgende Beispiel bezieht sich auf die Release-Version des Load AWS Balancer Controller v2.12.0. Weitere Informationen zu allen Versionen finden Sie auf der Load AWS Balancer Controller-Release-Seite
-
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.12.0/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.
-
-
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 Management Console, 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.
-
Ersetzen Sie die Werte für Clustername, Regionalcode und 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
-
Fügen Sie das
eks-charts
Helm-Chart-Repository hinzu. AWS unterhält dieses Repositoryauf GitHub. helm repo add eks https://aws.github.io/eks-charts
-
Aktualisieren Sie Ihr lokales Repository, um sicherzustellen, dass Sie über die neuesten Charts verfügen.
helm repo update eks
-
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 istaws-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
-
Wichtig
Das bereitgestellte Diagramm erhält nicht automatisch Sicherheitsupdates. Sie müssen manuell auf ein neueres Diagramm aktualisieren, wenn es verfügbar wird. Wechseln Sie beim Upgrade install
zum upgrade
vorherigen Befehl.
Der helm install
Befehl installiert automatisch die benutzerdefinierten Ressourcendefinitionen (CRDs) für den Controller. Der helm upgrade
Befehl tut dies nicht. Wenn Sie 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: Stellen Sie sicher, dass der Controller installiert ist
-
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.
-
Bevor Sie den Controller zur Bereitstellung von AWS Ressourcen verwenden können, muss Ihr Cluster bestimmte Anforderungen erfüllen. Weitere Informationen erhalten Sie unter Weiterleiten von Anwendungs- und HTTP-Verkehr mit Application Load Balancers und Weiterleiten von TCP- und UDP-Verkehr mit Network Load Balancers.