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
-
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.x
del graficoeks-charts/aws-load-balancer-controller
è installata, procedi alla disinstallazione. L'aggiornamento dalla versione0.1.x
alla versione1.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
-
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
-
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:
-
Rimuovere l'ALBIngress Controller (vedi sopra).
-
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.
-
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
-
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
-
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 -
Allega la IAM politica al IAM ruolo utilizzato da AWS Load Balancer Controller. Sostituire
con il nome del ruolo, ad esempioyour-role-name
AmazonEKSLoadBalancerControllerRole
.Se hai creato il ruolo utilizzando
eksctl
, allora per trovare il nome del ruolo che è stato creato, apri la AWS CloudFormation consolee 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