Contribuisci a migliorare questa pagina
Per contribuire a questa guida per l’utente, seleziona il link Edit this page on GitHub che si trova nel riquadro destro di ogni pagina.
Esegui la migrazione delle app da Controller di ingresso ALB obsoleto
Questo argomento descrive come migrare da versioni obsolete del Controller. Più specificamente, descrive come rimuovere le versioni obsolete di AWS Load Balancer Controller.
-
Le versioni obsolete non possono essere aggiornate. Devi prima rimuoverle e quindi installare una versione attuale.
-
Le versioni obsolete includono:
-
Controller di ingresso ALB AWS per Kubernetes ("Controller di ingresso"), un predecessore di AWS Load Balancer Controller.
-
Qualsiasi versione
0.1.di AWS Load Balancer Controllerx
-
Rimuovi la versione obsoleta del controller
Nota
Potresti aver installato la versione obsoleta utilizzando Helm o manualmente con i manifesti di Kubernetes. Completare la procedura utilizzando lo strumento con cui è stata installata in origine.
-
Se il grafico Helm
incubator/aws-alb-ingress-controllerè installato, procedi alla disinstallazione.helm delete aws-alb-ingress-controller -n kube-system -
Se la versione
0.1.del graficoxeks-charts/aws-load-balancer-controllerè installata, procedi alla disinstallazione. L’aggiornamento dalla versione0.1.alla versionex1.0.0non ha esito positivo a causa di incompatibilità con la versione dell’API webhook.helm delete aws-load-balancer-controller -n kube-system -
Verificare che il controller sia già installato.
kubectl get deployment -n kube-system alb-ingress-controllerQuesto è l’output restituito se il controller non è installato.
Error from server (NotFound): deployments.apps "alb-ingress-controller" not foundQuesto è l’output restituito se il controller è installato.
NAME READY UP-TO-DATE AVAILABLE AGE alb-ingress-controller 1/1 1 1 122d -
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 ad AWS Load Balancer Controller
Per eseguire la migrazione dal Controller di ingresso ALB per Kubernetes ad AWS Load Balancer Controller, devi:
-
Rimuovere il Controller di ingresso ALB (vedi sopra).
-
Aggiungi un’ulteriore policy al ruolo IAM utilizzato da AWS Load Balancer Controller. Questa policy consente a LBC la gestione delle risorse create dal Controller di ingresso ALB per Kubernetes.
-
Scaricare la policy IAM. Questa policy consente ad AWS Load Balancer Controller di gestire le risorse create dal Controller di ingresso ALB per Kubernetes. É anche possibile consultare la policy
. curl -O https://raw.githubusercontent.com/kubernetes-sigs/aws-load-balancer-controller/v2.13.3/docs/install/iam_policy_v1_to_v2_additional.json -
Se il cluster si trova nelle Regioni AWS AWS GovCloud (Stati Uniti orientali) o AWS GovCloud (Stati Uniti occidentali), sostituisci
arn:aws:conarn:aws-us-gov:.sed -i.bak -e 's|arn:aws:|arn:aws-us-gov:|' iam_policy_v1_to_v2_additional.json -
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 -
Aggiungi una policy IAM al ruolo IAM utilizzato da AWS Load Balancer Controller. Sostituisci
your-role-namecon il nome del ruolo, ad esempioAmazonEKSLoadBalancerControllerRole.Se hai creato il ruolo utilizzando
eksctl, per individuare il nome del ruolo creato devi aprire la console AWS CloudFormatione selezionare 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.aws iam attach-role-policy \ --role-name your-role-name \ --policy-arn arn:aws:iam::111122223333:policy/AWSLoadBalancerControllerAdditionalIAMPolicy