Migrer des applications depuis un ALB obsolète Ingress Controller - Amazon EKS

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.

Vous souhaitez contribuer à ce guide de l'utilisateur ? Choisissez le GitHub lien Modifier cette page sur qui se trouve dans le volet droit de chaque page. 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 des applications depuis un ALB obsolète Ingress 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 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 avec Kubernetes manifestes. Terminez la procédure à l'aide de l'outil avec lequel vous l'avez installé à l'origine.

  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 de l'API Webhook.

    helm delete aws-load-balancer-controller -n kube-system
  3. 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é.

    + 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
  1. 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 contrôleur d'entrée ALB pour Kubernetes au AWS Load Balancer Controller, vous devez :

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

  2. Installez le AWS Load Balancer Controller.

  3. Ajoutez une politique supplémentaire au rôle IAM utilisé par 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.

  4. Téléchargez la politique IAM. Cette politique permet AWS Load Balancer Controller pour gérer les ressources créées par le contrôleur d'entrée ALB pour Kubernetes. Vous pouvez également consulter 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
  5. 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
  6. 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
  7. Associez la politique IAM au rôle IAM 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 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