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 AWS Load Balancer Controller mit Helm
In diesem Thema wird beschrieben, wie Sie das installieren AWS Load Balancer Controller mit Helm, einem Paketmanager für Kubernetes, undeksctl
. Der Controller ist 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 den example values
durch deine eigenen Werte.
Voraussetzungen
Bevor Sie mit diesem Tutorial beginnen, müssen Sie die folgenden Tools und Ressourcen installieren und konfigurieren, die Sie zum Erstellen und Verwalten eines EKS Amazon-Clusters benötigen.
-
Ein vorhandener EKS Amazon-Cluster. Informationen zum Bereitstellen finden Sie unter Erste Schritte mit Amazon EKS.
-
Ein bestehendes 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 Erstelle eine IAM OIDC Anbieter für Ihren Cluster.
-
Stellen Sie sicher, dass Ihr Amazon VPC CNI plugin for Kubernetes,
kube-proxy
, und CoreDNS Bei den Add-Ons handelt es sich um die Mindestversionen, die unter Dienstkonto-Tokens aufgeführt sind. -
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: IAM Rolle erstellen mit eksctl
Anmerkung
Sie müssen nur eine IAM Rolle für die erstellen AWS Load Balancer Controller eine pro AWS Konto. Prüfen Sie, ob in der IAMKonsole AmazonEKSLoadBalancerControllerRole
-
Laden Sie eine IAM Richtlinie für das herunter AWS Load Balancer Controller das ermöglicht es, in AWS APIs Ihrem Namen Anrufe zu tätigen.
- AWS
-
**
$ curl -O https://raw.githubusercontent.com/kubernetes-sigs/aws-load-balancer-controller/v2.7.2/docs/install/iam_policy.json
- AWS GovCloud (USA)
-
**
$ 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
-
Erstellen Sie eine IAM Richtlinie mit der Richtlinie, die Sie im vorherigen Schritt heruntergeladen haben.
$ aws iam create-policy \ --policy-name AWSLoadBalancerControllerIAMPolicy \ --policy-document file://iam_policy.json
Anmerkung
Wenn Sie sich die Richtlinie in ansehen AWS Management Console, werden in der Konsole Warnungen für den ELBDienst angezeigt, nicht jedoch für den Dienst ELBv2. Das liegt daran, dass einige der Aktionen in der Richtlinie für ELBVersion 2 existieren, aber nicht für ELB. Sie können die Warnungen für ignorieren ELB.
-
Ersetzen
my-cluster
mit dem Namen Ihres Clusters,111122223333
mit Ihrer Konto-ID und führen Sie dann den Befehl aus. Wenn sich Ihr Cluster in den AWS Regionen AWS GovCloud (USA-Ost) oder AWS GovCloud (US-West) befindet, ersetzen Sie ihn durcharn:aws:
.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
Schritt 2: Installieren AWS Load Balancer Controller
-
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
-
Installiere das AWS Load Balancer Controller.
Ersetzen
my-cluster
mit dem Namen Ihres Clusters. Im folgenden Befehlaws-load-balancer-controller
ist Kubernetes Dienstkonto, das Sie in einem vorherigen Schritt erstellt haben.Weitere Informationen zur Konfiguration des Helmdiagramms finden Sie unter values.yaml
unter. 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
-
Wenn Sie den Controller auf EC2 Amazon-Knoten bereitstellen, die eingeschränkten Zugriff auf den EC2 Amazon-Instance-Metadatenservice (IMDS)
haben, oder wenn Sie ihn auf Fargate bereitstellen, fügen Sie dem folgenden helm
Befehl die folgenden Flags hinzu:-
--set region=
region-code
-
--set vpcId=
vpc-xxxxxxxx
-
-
Verwenden Sie den folgenden Befehl, um die verfügbaren Versionen von Helm Chart und Load Balancer Controller anzuzeigen:
helm search repo eks/aws-load-balancer-controller --versions
Wichtig
Das bereitgestellte Diagramm erhält nicht automatisch Sicherheitsupdates. Sie müssen manuell auf ein neueres Diagramm aktualisieren, wenn es verfügbar wird. Ändern Sie beim Upgrade
install
zuupgrade
im vorherigen Befehl.
-
Der helm install
Befehl installiert automatisch die benutzerdefinierten Ressourcendefinitionen (CRDs) für den Controller. Der helm upgrade
Befehl tut es nicht. Wenn Sie verwendenhelm upgrade,
, müssen Sie das manuell installieren CRDsFü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 die Bereitstellung mit dem Kubernetes Manifest, Sie haben 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 Anwendungen und HTTP Datenverkehr mit Application Load Balancers und Route TCP und UDP Verkehr mit Network Load Balancers.