Aidez à améliorer cette page
Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Pour contribuer à ce guide de l'utilisateur, cliquez sur le GitHub lien Modifier cette page sur qui se trouve dans le volet droit de chaque page.
Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Cette rubrique décrit comment effectuer une migration à partir de versions de contrôleurs obsolètes. Plus précisément, il décrit comment supprimer les versions obsolètes du AWS Load Balancer Controller.
-
Les versions obsolètes ne peuvent pas être mises à niveau. Vous devez d'abord les supprimer, puis installer une version actuelle.
-
Les versions déconseillées incluent :
-
AWS Contrôleur d'entrée ALB pour Kubernetes (« Ingress Controller »), prédécesseur du Load Balancer Controller. AWS
-
N'importe quelle
0.1.
version du AWS Load Balancer Controllerx
-
Supprimer la version obsolète du contrôleur
Note
Vous avez peut-être installé la version obsolète à l'aide de Helm ou manuellement à l'aide de manifestes Kubernetes. Terminez la procédure à l'aide de l'outil avec lequel vous l'avez installé à l'origine.
-
Si vous avez installé les Charts de Helm
incubator/aws-alb-ingress-controller
, désinstallez-les.helm delete aws-alb-ingress-controller -n kube-system
-
Si la version
0.1.
du graphiquex
eks-charts/aws-load-balancer-controller
est installée, désinstallez-la. La mise à niveau de la version0.1.
versx
1.0.0
ne fonctionne pas en raison d'une incompatibilité avec la version de l'API Webhook.helm delete aws-load-balancer-controller -n kube-system
-
Vérifiez si le contrôleur est actuellement installé.
kubectl get deployment -n kube-system alb-ingress-controller
Il s'agit de la sortie si le contrôleur n'est pas installé.
Error from server (NotFound): deployments.apps "alb-ingress-controller" not found
Il s'agit de la sortie si le contrôleur est installé.
NAME READY UP-TO-DATE AVAILABLE AGE alb-ingress-controller 1/1 1 1 122d
-
Saisissez les commandes suivantes pour supprimer le contrôleur.
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
Migrer vers AWS Load Balancer Controller
Pour migrer de l'ALB Ingress Controller pour Kubernetes vers le Load Balancer Controller, vous AWS devez :
-
Retirez le contrôleur d'entrée ALB (voir ci-dessus).
-
Ajoutez une politique supplémentaire au rôle IAM utilisé par le AWS Load Balancer Controller. Cette politique permet au LBC de gérer les ressources créées par le contrôleur d'entrée ALB pour Kubernetes.
-
Téléchargez la politique IAM. Cette politique permet au AWS Load Balancer Controller de gérer les ressources créées par le contrôleur ALB Ingress pour Kubernetes. Vous pouvez également afficher la politique
. curl -O https://raw.githubusercontent.com/kubernetes-sigs/aws-load-balancer-controller/v2.11.0/docs/install/iam_policy_v1_to_v2_additional.json
-
Si votre cluster se trouve dans les AWS régions AWS GovCloud (USA Est) ou AWS GovCloud (USA Ouest), remplacez-le par
arn:aws:
.arn:aws-us-gov:
sed -i.bak -e 's|arn:aws:|arn:aws-us-gov:|' iam_policy_v1_to_v2_additional.json
-
Créez la politique IAM et notez l'ARN renvoyé.
aws iam create-policy \ --policy-name AWSLoadBalancerControllerAdditionalIAMPolicy \ --policy-document file://iam_policy_v1_to_v2_additional.json
-
Attachez la politique IAM au rôle IAM utilisé par le AWS Load Balancer Controller. Remplacez
your-role-name
par le nom du rôle, tel queAmazonEKSLoadBalancerControllerRole
.Si vous avez créé le rôle en utilisant
eksctl
, pour trouver le nom du rôle créé, ouvrez la AWS CloudFormation consoleet sélectionnez la pile eksctl- my-cluster
- addon-iamserviceaccount-kube-system - aws-load-balancer-controller. Sélectionnez l'onglet Resources (Ressources). Le nom du rôle se trouve dans la colonne ID Physique.aws iam attach-role-policy \ --role-name your-role-name \ --policy-arn arn:aws: iam::111122223333:policy/AWSLoadBalancerControllerAdditionalIAMPolicy