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
-
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.x
du graphiqueeks-charts/aws-load-balancer-controller
est installée, désinstallez-la. La mise à niveau de la version0.1.x
vers1.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
-
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
-
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 :
-
Retirez le contrôleur ALB d'entrée (voir ci-dessus).
-
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.
-
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
-
Si votre cluster se trouve dans AWS GovCloud (USA Est) ou AWS GovCloud (USA Ouest) Régions AWS, 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 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 -
Attachez la IAM politique au IAM rôle utilisé par AWS Load Balancer Controller. Remplacez
par le nom du rôle, tel queyour-role-name
AmazonEKSLoadBalancerControllerRole
.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 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