Installation AWS Load Balancer Controller avec Helm - Amazon EKS

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 sur GitHub.

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.

É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'AmazonEKSLoadBalancerControllerRoleil existe dans la IAMconsole. Si ce rôle existe, passez à l'étape 2 : Installation du AWS Load Balancer Controller.

  1. 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
  1. 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.

  2. 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 par arn: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

  1. Ajoutez le référentiel de eks-charts diagrammes Helm. AWS maintient ce dépôt activé GitHub.

    $ helm repo add eks https://aws.github.io/eks-charts
  2. Mettez à jour votre référentiel local pour vous assurer que vous disposez des graphiques les plus récents.

    $ helm repo update eks
  3. 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
    1. 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

    2. 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é

  1. 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.

  2. 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.