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.
In diesem Thema wird beschrieben, wie Sie von veralteten Controller-Versionen migrieren. Insbesondere wird beschrieben, wie veraltete Versionen des AWS Load Balancer Controllers entfernt werden.
-
Veraltete Versionen können nicht aktualisiert werden. Sie müssen sie zuerst entfernen und dann eine aktuelle Version installieren.
-
Zu den veralteten Versionen gehören:
-
AWS ALB Ingress Controller für Kubernetes („Ingress Controller“), ein Vorgänger des Load Balancer Controllers. AWS
-
Beliebige
0.1.
Version des AWS Load Balancer Controllersx
-
Entfernen Sie die veraltete Controller-Version
Anmerkung
Möglicherweise haben Sie die veraltete Version mit Helm oder manuell mit Kubernetes-Manifesten installiert. Führen Sie den Vorgang mit dem Tool aus, mit dem Sie ihn ursprünglich installiert haben.
-
Wenn Sie das
incubator/aws-alb-ingress-controller
-Helm-Chart installiert haben, deinstallieren Sie es.helm delete aws-alb-ingress-controller -n kube-system
-
Wenn Sie Version
0.1.
desx
eks-charts/aws-load-balancer-controller
-Charts installiert haben, deinstallieren Sie es. Das Upgrade von der Version0.1.
zur Versionx
1.0.0
funktioniert aufgrund der Inkompatibilität mit der Webhook-API-Version nicht.helm delete aws-load-balancer-controller -n kube-system
-
Überprüfen Sie, ob der Controller derzeit installiert ist.
kubectl get deployment -n kube-system alb-ingress-controller
Dies ist die Ausgabe, wenn der Controller nicht installiert ist.
Error from server (NotFound): deployments.apps "alb-ingress-controller" not found
Dies ist die Ausgabe, falls der Controller installiert ist.
NAME READY UP-TO-DATE AVAILABLE AGE alb-ingress-controller 1/1 1 1 122d
-
Geben Sie die folgenden Befehle ein, um den Controller zu entfernen.
kubectl delete -f https://raw.githubusercontent.com/kubernetes-sigs/aws-alb-ingress-controller/v1.1.8/docs/examples/alb-ingress-controller.yaml kubectl delete -f https://raw.githubusercontent.com/kubernetes-sigs/aws-alb-ingress-controller/v1.1.8/docs/examples/rbac-role.yaml
Zum AWS Load Balancer Controller migrieren
Um vom ALB Ingress Controller für Kubernetes zum Load AWS Balancer Controller zu migrieren, müssen Sie:
-
Entfernen Sie den ALB Ingress Controller (siehe oben).
-
Fügen Sie der vom Load AWS Balancer Controller verwendeten IAM-Rolle eine zusätzliche Richtlinie hinzu. Diese Richtlinie ermöglicht es dem LBC, Ressourcen zu verwalten, die vom ALB Ingress Controller für Kubernetes erstellt wurden.
-
Laden Sie die IAM-Richtlinie herunter. Diese Richtlinie ermöglicht es dem Load AWS Balancer Controller, Ressourcen zu verwalten, die vom ALB Ingress Controller für Kubernetes erstellt wurden. Sie können auch die Richtlinie anzeigen
. curl -O https://raw.githubusercontent.com/kubernetes-sigs/aws-load-balancer-controller/v2.11.0/docs/install/iam_policy_v1_to_v2_additional.json
-
Wenn sich Ihr Cluster in den Regionen AWS GovCloud (USA-Ost) oder AWS GovCloud (US-West) befindet, ersetzen Sie ihn durch. AWS
arn:aws:
arn:aws-us-gov:
sed -i.bak -e 's|arn:aws:|arn:aws-us-gov:|' iam_policy_v1_to_v2_additional.json
-
Erstellen Sie die IAM-Richtlinie und notieren Sie den zurückgegebenen ARN.
aws iam create-policy \ --policy-name AWSLoadBalancerControllerAdditionalIAMPolicy \ --policy-document file://iam_policy_v1_to_v2_additional.json
-
Hängen Sie die IAM-Richtlinie an die IAM-Rolle an, die vom AWS Load Balancer Controller verwendet wird.
your-role-name
Ersetzen Sie durch den Namen der Rolle, z. B.AmazonEKSLoadBalancerControllerRole
Wenn Sie die Rolle mit
eksctl
, erstellt haben, öffnen Sie die AWS CloudFormation Konsoleund wählen Sie den eksctl- my-cluster
- addon-iamserviceaccount-kube-system - aws-load-balancer-controller Stack aus, um den Rollennamen zu finden, der erstellt wurde. Wählen Sie die Registerkarte für Resources (Ressourcen). Der Rollenname befindet sich in der Spalte Physische ID.aws iam attach-role-policy \ --role-name your-role-name \ --policy-arn arn:aws: iam::111122223333:policy/AWSLoadBalancerControllerAdditionalIAMPolicy