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
-
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 depuis0.1.x
vers la version1.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
-
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 de l'ALB Ingress Controller Kubernetes vers leAWS 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 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.
-
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
-
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 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 le LBC. 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 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