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.
Pour contribuer à ce guide de l'utilisateur, cliquez sur le GitHub lien Modifier cette page sur qui se trouve dans le volet droit de chaque 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.
Astuce
Avec le mode automatique d'Amazon EKS, vous n'avez pas besoin d'installer ou de mettre à niveau des modules complémentaires réseau. Le mode automatique inclut des fonctionnalités de mise en réseau des pods et d'équilibrage de charge.
Pour de plus amples informations, veuillez consulter Automatisez l'infrastructure de clusters avec le mode automatique EKS.
Cette rubrique décrit comment installer le AWS Load Balancer Controller à l'aide de Helm, un gestionnaire de packages pour Kubernetes, et. eksctl
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
par vos propres valeurs.
Prérequis
Avant de démarrer ce didacticiel, vous devez installer et configurer les outils et les ressources suivants dont vous avez besoin pour créer et gérer un cluster Amazon EKS.
-
Un cluster Amazon EKS existant. Pour en déployer un, consultez Mise en route avec Amazon EKS.
-
Un fournisseur IAM ( AWS Identity and Access Management) (IAM) OpenID Connect (OIDC) existant pour votre cluster. Pour déterminer si vous en avez déjà un, ou pour en créer un, consultez Créer un fournisseur d'identité OIDC IAM pour votre cluster.
-
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 rôle IAM à l'aide de eksctl
Note
Vous ne devez créer un rôle IAM pour le AWS Load Balancer Controller qu'une seule fois par AWS compte. Vérifiez s'AmazonEKSLoadBalancerControllerRole
il existe dans la console IAM.
Note
L'exemple ci-dessous fait référence à la version 2.11.0 de AWS Load Balancer Controller. Pour plus d'informations sur toutes les versions, consultez la page de mise à jour du AWS Load Balancer Controller
-
Téléchargez une politique IAM pour le AWS Load Balancer Controller qui lui permet de passer des appels en votre AWS APIs nom.
-
Créez une politique IAM à l'aide de la politique 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 service ELB, mais pas pour le service ELB v2. Cela est dû au fait que certaines des actions de la politique sont disponibles pour ELB v2, mais pas pour ELB. Vous pouvez ignorer les avertissements relatifs au service ELB.
-
Remplacez
my-cluster
par le nom de votre cluster,111122223333
par votre ID de compte, puis exécutez la commande.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 du 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
-
Installez le AWS Load Balancer Controller.
Si vous déployez le contrôleur sur des EC2 nœuds Amazon ayant un accès restreint au service de métadonnées d' EC2 instance Amazon (IMDS)
, ou si vous déployez sur des nœuds hybrides Fargate ou Amazon EKS, ajoutez les indicateurs suivants helm
à la commande suivante :-
--set region=
region-code
-
--set vpcId=
vpc-xxxxxxxx
Remplacez
my-cluster
par le nom de votre cluster. Dans la commande suivante,aws-load-balancer-controller
est le compte de service Kubernetes que vous avez créé à l'é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
-
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 install
à niveau, upgrade
passez à 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 le CRDs. Exécutez la commande suivante pour installer 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 déployé à l'aide du manifeste Kubernetes, vous n'avez qu'un seul réplica.
-
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 le trafic d'applications et le trafic HTTP avec des équilibreurs de charge d'application et Acheminez le trafic TCP et UDP avec des équilibreurs de charge réseau.