Migrer depuis un contrôleur obsolète - Amazon EKS

Aidez à améliorer cette page

Vous souhaitez contribuer à ce guide de l'utilisateur ? Faites défiler cette page vers le bas et sélectionnez Modifier cette page sur GitHub. Vos contributions aideront à améliorer notre guide de l'utilisateur pour tout le monde.

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.

Migrer depuis un contrôleur obsolète

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. Ils doivent être supprimés et une version actuelle du LBC doit être installée.

  • Les versions déconseillées incluent :

    • AWS Contrôleur d'entrée ALB pour Kubernetes (« Ingress Controller »), prédécesseur du. AWS Load Balancer Controller

    • N'importe quelle 0.1.x version du AWS Load Balancer Controller

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.

Supprimer le contrôleur d'entrée à l'aide de Helm
  1. 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
  2. Si la version 0.1.x du graphique eks-charts/aws-load-balancer-controller est installée, désinstallez-la. La mise à niveau depuis 0.1.x vers la version 1.0.0 ne fonctionne pas en raison d'une incompatibilité avec la version de l'API du webhook.

    $ helm delete aws-load-balancer-controller -n kube-system
Supprimer le contrôleur d'entrée à l'aide d'un manifeste Kubernetes
  1. 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é.

    Erreur provenant du serveur (NotFound) : deployments.apps « » alb-ingress-controller est introuvable

    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
  2. 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 Kubernetes vers leAWS Load Balancer Controller, vous devez :

  1. Retirez le contrôleur d'entrée ALB (voir ci-dessus).

  2. Installez leAWS Load Balancer Controller.

  3. Ajoutez une politique supplémentaire au rôle IAM utilisé par le LBC. Cette politique permet au LBC de gérer les ressources créées par le contrôleur d'entrée ALB pour. Kubernetes

Ajoutez une politique de migration au rôle AWS Load Balancer Controller IAM.
  1. Téléchargez la politique IAM. Cette politique permet au LBC 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.7.2/docs/install/iam_policy_v1_to_v2_additional.json
  2. Si votre cluster se trouve dans AWS GovCloud (USA Est) ou AWS GovCloud (USA Ouest) Régions AWS, remplacez-le pararn:aws:. arn:aws-us-gov: .

    $ sed -i.bak -e 's|arn:aws:|arn:aws-us-gov:|' iam_policy_v1_to_v2_additional.json
  3. 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
  4. Attachez la politique IAM au rôle IAM utilisé par le LBC. Remplacez your-role-name par le nom du rôle, tel queAmazonEKSLoadBalancerControllerRole.

    Si vous avez créé le rôle en utilisanteksctl, pour trouver le nom du rôle créé, ouvrez la AWS CloudFormation console et 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. Si votre cluster se trouve dans AWS GovCloud (USA Est) ou AWS GovCloud (USA Ouest) Régions AWS, remplacez-le pararn:aws:. arn:aws-us-gov:

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