Anwendungen vom veralteten ALB Ingress Controller migrieren - 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.

Anwendungen vom veralteten ALB Ingress Controller migrieren

In diesem Thema wird die Migration von veralteten Controller-Versionen beschrieben. Insbesondere wird beschrieben, wie veraltete Versionen des AWS Load Balancer Controllers entfernt werden.

  • 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 Load Balancer Controllers. AWS

    • Beliebige 0.1.x Version des AWS Load Balancer Controllers

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.

  1. Wenn Sie das incubator/aws-alb-ingress-controller-Helm-Chart installiert haben, deinstallieren Sie es.

    helm delete aws-alb-ingress-controller -n kube-system
  2. Wenn Sie Version 0.1.x des eks-charts/aws-load-balancer-controller-Charts installiert haben, deinstallieren Sie es. Das Upgrade von 0.1.x auf Version 1.0.0 funktioniert nicht, da die Webhook-API-Version inkompatibel ist.

    helm delete aws-load-balancer-controller -n kube-system
  3. Überprüfen Sie, ob der Controller derzeit installiert ist.

    kubectl get deployment -n kube-system alb-ingress-controller

    Dies ist die Ausgabe, falls 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
  4. 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:

  1. Entfernen Sie den ALB Ingress Controller (siehe oben).

  2. Installieren Sie den AWS Load Balancer Controller.

  3. Fügen Sie der vom Load AWS 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.

  4. 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.14.1/docs/install/iam_policy_v1_to_v2_additional.json
  5. 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
  6. 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
  7. Hängen Sie die IAM-Richtlinie an die IAM-Rolle an, die vom AWS Load Balancer Controller verwendet wird. your-role-nameErsetzen Sie durch den Namen der Rolle, z. B. AmazonEKSLoadBalancerControllerRole

    Wenn Sie die Rolle miteksctl, erstellt haben, öffnen Sie die AWS CloudFormation Konsole und 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