Migrazione da un controller obsoleto - 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 da un controller obsoleto

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. Devono essere rimosse e deve essere installata una versione corrente di LBC.

  • Le versioni obsolete includono:

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

    • Qualsiasi versione di 0.1.x AWS Load Balancer Controller

Rimuovi la versione obsoleta del controller

Nota

È possibile che la versione obsoleta sia stata installata utilizzando Helm o manualmente con i manifest. Kubernetes 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 ha esito positivo a causa di incompatibilità con la versione dell'API webhook.

    $ helm delete aws-load-balancer-controller -n kube-system
Rimuovi Ingress Controller usando manifest Kubernetes
  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

Migrazione ad AWS Load Balancer Controller

Per migrare dall'ALB Ingress Controller a, devi: Kubernetes AWS Load Balancer Controller

  1. Rimuovere l'ALB Ingress Controller (vedi sopra).

  2. Installa il. AWS Load Balancer Controller

  3. Aggiungi una policy aggiuntiva al ruolo IAM utilizzato da LBC. Questa policy consente a LBC di gestire le risorse create dall'ALB Ingress Controller per. Kubernetes

Aggiungi la politica di migrazione al ruolo IAM. AWS Load Balancer Controller
  1. Scaricare la policy IAM. Questa policy consente a LBC di gestire le risorse create dall'ALB Ingress Controller per. Kubernetes É anche possibile consultare la policy.

    $ 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 (Stati Uniti occidentali), sostituiscilo con. Regioni AWSarn:aws: 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. Creare la policy IAM e annotate l'ARN restituito.

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

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

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