Migrazione delle app da applicazioni obsolete AWSIngress Controller - Amazon EKS

Aiutaci a migliorare questa pagina

Vuoi contribuire a questa guida per l'utente? Scorri fino alla fine di questa pagina e seleziona Modifica questa pagina su GitHub. I tuoi contributi contribuiranno a rendere la nostra guida utente migliore per tutti.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Migrazione delle app da applicazioni obsolete AWSIngress Controller

Questo argomento descrive come migrare da versioni di controller obsolete. Più specificamente, descrive come rimuovere le versioni obsolete di AWS Load Balancer Controller.

  • Le versioni obsolete non possono essere aggiornate. È necessario prima rimuoverle e quindi installare una versione corrente.

  • Le versioni obsolete includono:

    • AWS ALBIngress Controller per Kubernetes («Ingress Controller»), un predecessore del AWS Load Balancer Controller.

    • Qualsiasi 0.1.x versione di AWS Load Balancer Controller

Rimuovere la versione obsoleta del controller

Nota

È possibile che la versione obsoleta sia stata installata utilizzando Helm o manualmente con Kubernetes manifesta. Completare la procedura utilizzando lo strumento con cui è stata installata in origine.

Rimuovi Ingress Controller usando Helm
  1. Se il grafico Helm incubator/aws-alb-ingress-controller è installato, procedi alla disinstallazione.

    $ helm delete aws-alb-ingress-controller -n kube-system
  2. Se la versione 0.1.x del grafico eks-charts/aws-load-balancer-controller è installata, procedi alla disinstallazione. L'aggiornamento dalla versione 0.1.x alla versione 1.0.0 non funziona a causa dell'incompatibilità con la versione webhook. API

    $ helm delete aws-load-balancer-controller -n kube-system
Rimuovi Ingress Controller usando Kubernetes manifest
  1. Verificare che il controller sia già installato.

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

    Questo è l'output restituito se il controller non è installato.

    Errore dal server (NotFound): deployments.apps "" non trovato alb-ingress-controller

    Questo è l'output restituito se il controller è installato.

    NAME READY UP-TO-DATE AVAILABLE AGE alb-ingress-controller 1/1 1 1 122d
  2. Immettere i seguenti comandi per rimuovere il controller.

    $ 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

Esegui la migrazione a AWS Load Balancer Controller

Migrare da ALB Ingress Controller per Kubernetes al AWS Load Balancer Controller, è necessario:

  1. Rimuovere l'ALBIngress Controller (vedi sopra).

  2. Installa il AWS Load Balancer Controller.

  3. Aggiungi una politica aggiuntiva al IAM ruolo utilizzato da AWS Load Balancer Controller. Questa politica consente loro di LBC gestire le risorse create dall'ALBIngress Controller per Kubernetes.

Aggiungi politica di migrazione a AWS Load Balancer Controller IAMruolo.
  1. Scarica la IAM politica. Questa politica consente il AWS Load Balancer Controller per gestire le risorse create dall'ALBIngress Controller per Kubernetes. Puoi anche visualizzare la politica.

    $ curl -O https://raw.githubusercontent.com/kubernetes-sigs/aws-load-balancer-controller/v2.7.2/docs/install/iam_policy_v1_to_v2_additional.json
  2. Se il tuo cluster si trova negli AWS GovCloud Stati Uniti orientali o AWS GovCloud negli Stati Uniti occidentali Regioni AWS, arn:aws: sostituiscilo con. arn:aws-us-gov: . arn:aws:

    $ sed -i.bak -e 's|arn:aws:|arn:aws-us-gov:|' iam_policy_v1_to_v2_additional.json
  3. Crea la IAM politica e annota ARN quella restituita.

    $ aws iam create-policy \ --policy-name AWSLoadBalancerControllerAdditionalIAMPolicy \ --policy-document file://iam_policy_v1_to_v2_additional.json
  4. Allega la IAM politica al IAM ruolo utilizzato da AWS Load Balancer Controller. Sostituire your-role-name con il nome del ruolo, ad esempioAmazonEKSLoadBalancerControllerRole.

    Se hai creato il ruolo utilizzandoeksctl, allora per trovare il nome del ruolo che è stato creato, apri la AWS CloudFormation console e seleziona il comando eksctl-my-cluster- addon-iamserviceaccount-kube-system - aws-load-balancer-controller pila. Selezionare la scheda Risorse. Il nome del ruolo è nella colonna ID fisico. Se il tuo cluster si trova negli AWS GovCloud (Stati Uniti orientali) o AWS GovCloud (Stati Uniti occidentali) Regioni AWS, sostituiscilo con. arn:aws: arn:aws-us-gov:

    $ aws iam attach-role-policy \ --role-name your-role-name \ --policy-arn arn:aws:iam::111122223333:policy/AWSLoadBalancerControllerAdditionalIAMPolicy