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.
Installation AWS Load Balancer Controller avec Helm
Cette rubrique décrit comment installer AWS Load Balancer Controller en utilisant Helm, un gestionnaire de paquets pour Kubernetes, eteksctl
. Le contrôleur est installé avec les options par défaut. Pour plus d'informations sur le contrôleur, notamment sur sa configuration à l'aide d'annotations, consultez la documentation du contrôleur AWS Load Balancer
Dans les étapes suivantes, remplacez example values
avec vos propres valeurs.
Prérequis
Avant de commencer ce didacticiel, vous devez installer et configurer les outils et ressources suivants dont vous avez besoin pour créer et gérer un EKS cluster Amazon.
-
Un EKS cluster Amazon existant. Pour en déployer un, consultez Commencez avec Amazon EKS.
-
Un AWS Identity and Access Management existant (IAM) OpenID Connect (OIDC) fournisseur pour votre cluster. Pour déterminer si vous en avez déjà un, ou pour en créer un, consultez Créez un IAM OIDC fournisseur pour votre cluster.
-
Assurez-vous que votre Amazon VPC CNI plugin for Kubernetes,
kube-proxy
, et CoreDNS les modules complémentaires sont au minimum listés dans les jetons de compte de service. -
Connaissance d' AWS Elastic Load Balancing Pour plus d'informations, consultez le Guide de l'utilisateur Elastic Load Balancing.
-
Connaissance du service
Kubernetes et des ressources ingress . -
Helm
installé localement.
Étape 1 : créer un IAM rôle en utilisant eksctl
Note
Il vous suffit de créer un IAM rôle pour AWS Load Balancer Controller un par AWS compte. Vérifiez s'AmazonEKSLoadBalancerControllerRole
il existe dans la IAMconsole
-
Téléchargez une IAM politique pour AWS Load Balancer Controller qui lui permet de passer des appels AWS APIs en votre nom.
- AWS
-
**
$ curl -O https://raw.githubusercontent.com/kubernetes-sigs/aws-load-balancer-controller/v2.7.2/docs/install/iam_policy.json
- AWS GovCloud (États-Unis)
-
**
$ curl -O https://raw.githubusercontent.com/kubernetes-sigs/aws-load-balancer-controller/v2.7.2/docs/install/iam_policy_us-gov.json
$ mv iam_policy_us-gov.json iam_policy.json
-
Créez une IAM politique à l'aide de la stratégie téléchargée à l'étape précédente.
$ aws iam create-policy \ --policy-name AWSLoadBalancerControllerIAMPolicy \ --policy-document file://iam_policy.json
Note
Si vous consultez la politique dans le AWS Management Console, la console affiche des avertissements pour le ELBservice, mais pas pour le service ELBv2. Cela se produit parce que certaines des actions de la politique existent pour la ELBversion 2, mais pas pour ELB. Vous pouvez ignorer les avertissements relatifs à ELB.
-
Remplacez
my-cluster
avec le nom de votre cluster,111122223333
avec votre identifiant de compte, puis exécutez la commande. Si votre cluster se trouve dans les AWS régions AWS GovCloud (USA Est) ou AWS GovCloud (USA Ouest), remplacez-le pararn:aws:
.arn:aws-us-gov:
$ eksctl create iamserviceaccount \ --cluster=my-cluster \ --namespace=kube-system \ --name=aws-load-balancer-controller \ --role-name AmazonEKSLoadBalancerControllerRole \ --attach-policy-arn=arn:aws: iam::111122223333:policy/AWSLoadBalancerControllerIAMPolicy \ --approve
Étape 2 : Installation AWS Load Balancer Controller
-
Ajoutez le référentiel de
eks-charts
diagrammes Helm. AWS maintient ce dépôtactivé GitHub. $ helm repo add eks https://aws.github.io/eks-charts
-
Mettez à jour votre référentiel local pour vous assurer que vous disposez des graphiques les plus récents.
$ helm repo update eks
-
Installer la AWS Load Balancer Controller.
Remplacez
my-cluster
avec le nom de votre cluster. Dans la commande suivante,aws-load-balancer-controller
est Kubernetes compte de service que vous avez créé lors d'une étape précédente.Pour plus d'informations sur la configuration du graphique de barre, consultez values.yaml
on. GitHub $ helm install aws-load-balancer-controller eks/aws-load-balancer-controller \ -n kube-system \ --set clusterName=my-cluster \ --set serviceAccount.create=false \ --set serviceAccount.name=aws-load-balancer-controller
-
Si vous déployez le contrôleur sur des EC2 nœuds Amazon qui ont un accès restreint au service de métadonnées d'EC2instance Amazon (IMDS)
, ou si vous déployez sur Fargate, ajoutez les indicateurs suivants à helm
la commande suivante :-
--set region=
region-code
-
--set vpcId=
vpc-xxxxxxxx
-
-
Pour consulter les versions disponibles du Helm Chart et du Load Balancer Controller, utilisez la commande suivante :
helm search repo eks/aws-load-balancer-controller --versions
Important
Le graphique déployé ne reçoit pas automatiquement les mises à jour de sécurité. Vous devez effectuer manuellement une mise à niveau vers un graphique plus récent lorsqu'il sera disponible. Lors de la mise à niveau, modifiez
install
àupgrade
dans la commande précédente.
-
La helm install
commande installe automatiquement les définitions de ressources personnalisées (CRDs) pour le contrôleur. Ce n'est pas le cas de la helm upgrade
commande. Si vous utilisez, helm upgrade,
vous devez installer manuellement CRDsExécutez la commande suivante pour installer le kit . CRDs:
wget https://raw.githubusercontent.com/aws/eks-charts/master/stable/aws-load-balancer-controller/crds/crds.yaml kubectl apply -f crds.yaml
Étape 3 : vérifier que le contrôleur est installé
-
Vérifiez que le contrôleur est installé.
$ kubectl get deployment -n kube-system aws-load-balancer-controller
L'exemple qui suit illustre un résultat.
NAME READY UP-TO-DATE AVAILABLE AGE aws-load-balancer-controller 2/2 2 2 84s
Vous recevez la sortie précédente si vous avez déployé à l'aide de Helm. Si vous avez effectué un déploiement à l'aide du Kubernetes manifeste, vous n'avez qu'une seule réplique.
-
Avant d'utiliser le contrôleur pour provisionner AWS des ressources, votre cluster doit répondre à des exigences spécifiques. Pour plus d’informations, consultez Acheminez les applications et HTTP le trafic avec les équilibreurs de charge des applications et Route TCP et UDP trafic avec les équilibreurs de charge réseau.