Unterstützung für die Verbesserung dieser Seite beitragen
Um zu diesem Benutzerhandbuch beizutragen, klicken Sie auf den Link Diese Seite auf GitHub bearbeiten, der sich im rechten Bereich jeder Seite befindet.
Anwendungen vom veralteten ALB Ingress Controller migrieren
In diesem Thema wird die Migration von veralteten Controller-Versionen beschrieben. Genauer gesagt wird beschrieben, wie Sie veraltete Versionen des AWS Load Balancer Controllers entfernen.
-
Veraltete Versionen können nicht aktualisiert werden. Sie müssen diese 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 AWS Load Balancer Controller.
-
Jede
0.1.-Version des AWS Load Balancer Controllersx
-
Veraltete Controller-Version entfernen
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.desxeks-charts/aws-load-balancer-controller-Charts installiert haben, deinstallieren Sie es. Das Upgrade von0.1.auf Versionx1.0.0funktioniert nicht, da die Webhook-API-Version inkompatibel ist.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-controllerDies ist die Ausgabe, falls der Controller nicht installiert ist.
Error from server (NotFound): deployments.apps "alb-ingress-controller" not foundDies 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
Migration zum AWS Load Balancer Controller
Um vom ALB Ingress Controller für Kubernetes zum AWS Load Balancer Controller zu migrieren, müssen Sie Folgendes tun:
-
Entfernen Sie den ALB Ingress Controller (siehe oben).
-
Fügen Sie der vom AWS Load Balancer Controller verwendeten IAM-Rolle eine zusätzliche Richtlinie hinzu. Diese Richtlinie ermöglicht es dem LBC, die vom ALB Ingress Controller für Kubernetes erstellten Ressourcen zu verwalten.
-
Laden Sie die IAM-Richtlinie herunter. Diese Richtlinie ermöglicht es dem AWS Load Balancer Controller, die vom ALB Ingress Controller für Kubernetes erstellten Ressourcen zu verwalten. Sie können auch die Richtlinie anzeigen
. curl -O https://raw.githubusercontent.com/kubernetes-sigs/aws-load-balancer-controller/v2.13.3/docs/install/iam_policy_v1_to_v2_additional.json -
Wenn sich Ihr Cluster in den
arn:aws:AWS GovCloud (USA Ost) oder AWS GovCloud (USA West) befindet, ersetzen Sie AWS durcharn: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 -
Fügen Sie die IAM-Richtlinie der IAM-Rolle hinzu, die vom AWS Load Balancer Controller verwendet wird. Ersetzen Sie
your-role-namedurch den Namen der Rolle, z. B.AmazonEKSLoadBalancerControllerRole.Wenn Sie die Rolle mit
eksctlerstellt haben, öffnen Sie zur Suche nach dem erstellten Rollennamen die AWS-CloudFormation-Konsoleund wählen Sie den Stack eksctl- my-cluster-addon-iamserviceaccount-kube-system-aws-load-balancer-controller aus. 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