Aidez à améliorer cette page
Pour contribuer à ce guide de l’utilisateur, cliquez sur le lien Modifier cette page sur GitHub qui se trouve dans le volet droit de chaque page.
Migrer des applications depuis le ALB Ingress Controller
Cette rubrique décrit comment Migration à partir de versions de contrôleur rendues obsolètes. Plus précisément, il décrit comment supprimer les versions obsolètes de l’AWS Load Balancer Controller.
-
Les versions rendues obsolètes ne peuvent pas être mises à niveau. Vous devez d’abord les supprimer, puis installer une version actuelle.
-
Les versions obsolètes incluent :
-
AWS ALB Ingress Controller for Kubernetes (« Ingress Controller »), un prédécesseur d’AWS Load Balancer Controller.
-
Toute version
0.1.de l’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 avec les 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 graphiquexeks-charts/aws-load-balancer-controllerest installée, désinstallez-la. La mise à niveau depuis0.1.vers la versionx1.0.0ne fonctionne pas en raison d’une incompatibilité avec la version de l’API du 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-controllerIl s’agit de la sortie si le contrôleur n’est pas installé.
Error from server (NotFound): deployments.apps "alb-ingress-controller" not foundIl 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 du contrôleur d’entrée ALB pour Kubernetes vers AWS Load Balancer Controller, vous devez :
-
Retirez le contrôleur d’entrée ALB (voir ci-dessus).
-
Ajoutez une politique supplémentaire au rôle IAM utilisé par l’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 à l’AWS Load Balancer Controller de gérer les ressources créées par le contrôleur d’entrée ALB pour Kubernetes. Vous pouvez également afficher la politique
. curl -O https://raw.githubusercontent.com/kubernetes-sigs/aws-load-balancer-controller/v2.13.3/docs/install/iam_policy_v1_to_v2_additional.json -
Si votre cluster est dans les régions AWS AWS GovCloud (USA-Est) ou AWS GovCloud (USA-Ouest), remplacez
arn:aws:pararn: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 l’AWS Load Balancer Controller. Remplacez
your-role-namepar le nom du rôle, par exempleAmazonEKSLoadBalancerControllerRole.Si vous avez créé le rôle à l’aide de
eksctl, ensuite pour rechercher le nom du rôle qui a été créé, ouvrez la console CloudFormation AWSet sélectionnez la pile eksctl- your-cluster-name-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