Migrer des applications depuis des applications obsolètes AWSIngress Controller - 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 tous.

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 des applications depuis des applications obsolètes AWSIngress Controller

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 ALBContrôleur d'entrée 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 avec Kubernetes manifestes. 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 de la version 0.1.x vers 1.0.0 ne fonctionne pas en raison d'une incompatibilité avec la version du webhookAPI.

    $ helm delete aws-load-balancer-controller -n kube-system
Supprimer le contrôleur d'entrée à l'aide de Kubernetes manifeste
  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 depuis le ALB Ingress Controller pour Kubernetes au AWS Load Balancer Controller, vous devez :

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

  2. Installez le AWS Load Balancer Controller.

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

Ajouter une politique de migration à AWS Load Balancer Controller IAMrôle.
  1. Téléchargez la IAM politique. Cette politique permet AWS Load Balancer Controller pour gérer les ressources créées par le ALB Ingress Controller pour Kubernetes. Vous pouvez également consulter 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 IAM politique et notez celle ARN qui est renvoyée.

    $ aws iam create-policy \ --policy-name AWSLoadBalancerControllerAdditionalIAMPolicy \ --policy-document file://iam_policy_v1_to_v2_additional.json
  4. Attachez la IAM politique au IAM rôle utilisé par AWS Load Balancer Controller. 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 eksctl-my-cluster- addon-iamserviceaccount-kube-system - aws-load-balancer-controller pile. 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