

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

# Commencez à utiliser AWS Fargate pour votre cluster
<a name="fargate-getting-started"></a>

Cette rubrique explique comment commencer à exécuter des pods sur AWS Fargate avec votre cluster Amazon EKS.

Si vous limitez l'accès au point de terminaison public de votre cluster à l'aide de blocs CIDR, nous vous recommandons d'activer également l'accès au point de terminaison privé. De cette manière, les pods Fargate peuvent communiquer avec le cluster. Sans l'activation du point de terminaison privé, les blocs CIDR que vous spécifiez pour l'accès public doivent inclure les sources de sortie de votre VPC. Pour de plus amples informations, veuillez consulter [Point de terminaison du serveur d’API du cluster](cluster-endpoint.md).

**Prérequis**  
Un cluster existant. Si vous ne disposez pas déjà d’un cluster Amazon EKS, consultez [Mise en route avec Amazon EKS](getting-started.md).

## Étape 1 : s’assurer que les nœuds existants peuvent communiquer avec les pods Fargate
<a name="fargate-gs-check-compatibility"></a>

Si vous travaillez avec un nouveau cluster sans nœuds ou un cluster comportant uniquement des groupes de nœuds gérés (voir [Simplifiez le cycle de vie des nœuds avec des groupes de nœuds gérés](managed-node-groups.md)), vous pouvez passer à [Étape 2 : créer un rôle d’exécution Fargate Pod](#fargate-sg-pod-execution-role).

Supposons que vous travaillez avec un cluster existant ayant déjà des nœuds associés. Assurez-vous que les pods sur ces nœuds peuvent communiquer librement avec les pods qui s’exécutent sur Fargate. Les pods qui s’exécutent sur Fargate sont automatiquement configurés pour utiliser le groupe de sécurité du cluster auquel ils sont associés. Assurez-vous que tous les nœuds existants dans votre cluster peuvent envoyer et recevoir du trafic vers et depuis le groupe de sécurité du cluster. Les groupes de nœuds gérés sont automatiquement configurés pour utiliser également le groupe de sécurité du cluster. Vous n’avez donc pas besoin de les modifier ou de vérifier leur compatibilité (voir [Simplifiez le cycle de vie des nœuds avec des groupes de nœuds gérés](managed-node-groups.md)).

Pour les groupes de nœuds existants créés avec `eksctl` ou avec les AWS CloudFormation modèles gérés par Amazon EKS, vous pouvez ajouter le groupe de sécurité du cluster aux nœuds manuellement. Vous pouvez également modifier le modèle de lancement du groupe Auto Scaling pour le groupe de nœuds, afin d'attacher le groupe de sécurité du cluster aux instances. Pour plus d’informations, consultez [Modification des groupes de sécurité d’une instance](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html#SG_Changing_Group_Membership) dans le *Guide de l’utilisateur VPC Amazon*.

Vous pouvez rechercher un groupe de sécurité pour votre cluster dans la AWS Management Console section **Mise en réseau** du cluster. Vous pouvez également le faire à l'aide de la commande AWS CLI suivante. Lorsque vous utilisez cette commande, remplacez `<my-cluster>` par le nom de votre cluster.

```
aws eks describe-cluster --name <my-cluster> --query cluster.resourcesVpcConfig.clusterSecurityGroupId
```

## Étape 2 : créer un rôle d’exécution Fargate Pod
<a name="fargate-sg-pod-execution-role"></a>

Lorsque votre cluster crée des pods sur AWS Fargate, les composants qui s'exécutent sur l'infrastructure Fargate doivent effectuer des appels en votre nom. AWS APIs Pour ce faire, le rôle d’exécution de pod Amazon EKS fournit les autorisations IAM. Pour créer un rôle d'exécution AWS Fargate Pod, consultez. [Rôle IAM d’exécution de pod Amazon EKS](pod-execution-role.md)

**Note**  
Si vous avez créé votre cluster avec `eksctl` à l’aide de l’option `--fargate`, votre cluster comporte déjà un rôle d’exécution de pod que vous pouvez trouver dans la console IAM en utilisant `eksctl-my-cluster-FargatePodExecutionRole-ABCDEFGHIJKL`. De même, si vous utilisez `eksctl` pour créer vos profils Fargate, `eksctl` créera votre rôle d’exécution de pod si celui-ci n’existe pas déjà.

## Étape 3 : créer un profil Fargate pour votre cluster
<a name="fargate-gs-create-profile"></a>

Avant de pouvoir planifier des pods s’exécutant sur Fargate dans votre cluster, vous devez définir un profil Fargate qui spécifie quels pods utilisent Fargate lorsqu’ils sont lancés. Pour de plus amples informations, veuillez consulter [Définissez quels pods utilisent AWS Fargate lors de leur lancement](fargate-profile.md).

**Note**  
Si vous avez créé votre cluster avec `eksctl` à l’aide de l’option `--fargate`, un profil Fargate est déjà créé pour votre cluster avec des sélecteurs pour tous les pods dans les espaces de noms `kube-system` et `default`. Utilisez la procédure suivante pour créer des profils Fargate pour tout autre espace de noms que vous souhaitez utiliser avec Fargate.

Vous pouvez créer un profil Fargate en utilisant l’un des outils suivants :
+  [`eksctl`](#eksctl_fargate_profile_create) 
+  [AWS Management Console](#console_fargate_profile_create) 

### `eksctl`
<a name="eksctl_fargate_profile_create"></a>

Cette procédure nécessite `eksctl` version `0.215.0` ou ultérieure. Vous pouvez vérifier votre version avec la commande suivante :

```
eksctl version
```

Pour les instructions d'installation ou de mise à niveau de `eksctl`, consultez la rubrique [Installation](https://eksctl.io/installation) dans la documentation `eksctl`.

 **Pour créer un profil Fargate avec `eksctl` ** 

Créez votre profil Fargate avec la commande `eksctl` suivante, en remplaçant chaque `<example value>` par vos propres valeurs. Vous devez spécifier un espace de noms. Cependant, l’option `--labels` n’est pas obligatoire.

```
eksctl create fargateprofile \
    --cluster <my-cluster> \
    --name <my-fargate-profile> \
    --namespace <my-kubernetes-namespace> \
    --labels <key=value>
```

Vous pouvez utiliser certains caractères génériques pour les étiquettes `<my-kubernetes-namespace>` et `<key=value>`. Pour de plus amples informations, veuillez consulter [Caractères génériques du profil Fargate](fargate-profile.md#fargate-profile-wildcards).

### AWS Management Console
<a name="console_fargate_profile_create"></a>

 **Pour créer un profil Fargate avec AWS Management Console ** 

1. Ouvrez la [console Amazon EKS](https://console.aws.amazon.com/eks/home#/clusters).

1. Choisissez le cluster pour lequel vous voulez créer un profil Fargate.

1. Choisissez l'onglet **Calcul**.

1. Sous **Fargate profiles** (Profils Fargate), choisissez **Add Fargate profile** (Ajouter un profil Fargate).

1. Sur la page **Configure Fargate profile (Configurer le profil Fargate)**, procédez comme suit :

   1. Dans **Nom**, saisissez un nom pour votre profil Fargate. Le nom doit être unique.

   1. Pour le **rôle d’exécution du pod**, choisissez le rôle d’exécution du pod à utiliser avec votre profil Fargate. Seuls les rôles IAM avec le principal de service `eks-fargate-pods.amazonaws.com` sont affichés. Si vous ne voyez aucun rôle répertorié ici, vous devez en créer un. Pour de plus amples informations, veuillez consulter [Rôle IAM d’exécution de pod Amazon EKS](pod-execution-role.md).

   1. Modifiez les **sous-réseaux** sélectionnés selon vos besoins.
**Note**  
Seuls les sous-réseaux privés sont pris en charge pour les pods qui s’exécutent sur Fargate.

   1. Dans **Identifications**, vous pouvez éventuellement étiqueter votre profil Fargate. Ces balises ne se propagent pas aux autres ressources qui sont associées au profil, comme les pods.

   1. Choisissez **Suivant**.

1. Sur la page **Configurer la sélection de pod**, procédez comme suit :

   1. Pour **l’espace de noms**, saisissez un espace de noms correspondant aux pods.
      + Vous pouvez utiliser des espaces de noms spécifiques pour les faire correspondre, tels que `kube-system` ou `default`.
      + Vous pouvez utiliser certains caractères génériques (par exemple, `prod-*`) pour faire correspondre plusieurs espaces de noms (par exemple, `prod-deployment` et `prod-test`). Pour de plus amples informations, veuillez consulter [Caractères génériques du profil Fargate](fargate-profile.md#fargate-profile-wildcards).

   1. (Facultatif) Ajoutez des labels Kubernetes au sélecteur. Ajoutez-les spécifiquement à celui auquel les pods de l’espace de noms spécifié doivent correspondre.
      + Vous pouvez ajouter la balise `infrastructure: fargate` au sélecteur afin que seuls les pods de l’espace de noms spécifié qui possèdent également la balise Kubernetes `infrastructure: fargate` correspondent au sélecteur.
      + Vous pouvez utiliser certains caractères génériques (par exemple, `key?: value?`) pour faire correspondre plusieurs espaces de noms (par exemple, `keya: valuea` et `keyb: valueb`). Pour de plus amples informations, veuillez consulter [Caractères génériques du profil Fargate](fargate-profile.md#fargate-profile-wildcards).

   1. Choisissez **Suivant**.

1. Sur la page **Vérifier et créer**, vérifiez les informations de votre profil Fargate et choisissez **Créer**.

## Étape 4 : mettre à jour CoreDNS
<a name="fargate-gs-coredns"></a>

Par défaut, CoreDNS est configuré pour s'exécuter sur l' EC2 infrastructure Amazon sur des clusters Amazon EKS. Si vous souhaitez *uniquement* exécuter vos pods sur Fargate dans votre cluster, effectuez les étapes suivantes.

**Note**  
Si vous avez créé votre cluster à l'aide de `eksctl` en utilisant l'option `--fargate`, vous pouvez passer directement à [Étapes suivantes](#fargate-gs-next-steps).

1. Créez un profil Fargate pour CoreDNS à l’aide de la commande suivante. Remplacez-le `<my-cluster>` par le nom de votre cluster, `<111122223333>` par votre identifiant de compte, `<AmazonEKSFargatePodExecutionRole>` par le nom de votre rôle d'exécution de Pod et `<000000000000000c>` par le nom IDs de vos sous-réseaux privés. `<000000000000000a>` `<000000000000000b>` Si vous ne disposez pas d’un rôle d’exécution Pod, vous devez d’abord en créer un (voir [Étape 2 : créer un rôle d’exécution Fargate Pod](#fargate-sg-pod-execution-role)).
**Important**  
L’ARN de rôle ne peut pas inclure un [chemin d’accès](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-friendly-names) autre que `/`. Par exemple, si le nom de votre rôle est `development/apps/AmazonEKSFargatePodExecutionRole`, vous devez le remplacer par `AmazonEKSFargatePodExecutionRole` lorsque vous spécifiez l'ARN du rôle. Le format de l'ARN de rôle doit être ` arn:aws: iam::<111122223333>:role/<AmazonEKSFargatePodExecutionRole>`.

   ```
   aws eks create-fargate-profile \
       --fargate-profile-name coredns \
       --cluster-name <my-cluster> \
       --pod-execution-role-arn arn:aws: iam::<111122223333>:role/<AmazonEKSFargatePodExecutionRole> \
       --selectors namespace=kube-system,labels={k8s-app=kube-dns} \
       --subnets subnet-<000000000000000a> subnet-<000000000000000b> subnet-<000000000000000c>
   ```

1. Déclenchez le déploiement du déploiement `coredns`.

   ```
   kubectl rollout restart -n kube-system deployment coredns
   ```

## Étapes suivantes
<a name="fargate-gs-next-steps"></a>
+ Vous pouvez commencer à migrer vos applications existantes pour les exécuter sur Fargate avec le flux suivant.

  1.  [Créer un profil Fargate](fargate-profile.md#create-fargate-profile) qui correspond à l’espace de noms Kubernetes et aux étiquettes Kubernetes de votre application.

  1. Supprimez et recréez tous les pods existants afin qu’ils soient planifiés sur Fargate. Modifiez le `<namespace>` et `<deployment-type>` pour mettre à jour vos pods spécifiques.

     ```
     kubectl rollout restart -n <namespace> deployment <deployment-type>
     ```
+ Déployez [Routage du trafic des applications et du trafic HTTP avec des équilibreurs de charge Application Load Balancer](alb-ingress.md) pour autoriser les objets d’entrée pour vos pods fonctionnant sur Fargate.
+ Vous pouvez utiliser le [Ajuster les ressources des pods avec Vertical Pod Autoscaler](vertical-pod-autoscaler.md) pour définir la taille initiale correcte du processeur et de la mémoire pour vos pods Fargate, puis utiliser le [Déployez des pods à l’échelle avec Horizontal Pod Autoscaler](horizontal-pod-autoscaler.md) pour faire évoluer ces pods. Si vous souhaitez que Vertical Pod Autoscaler redéploie automatiquement les pods vers Fargate avec des combinaisons de CPU et de mémoire plus élevées, définissez le mode de Vertical Pod Autoscaler sur `Auto` ou `Recreate`. Ceci permet de garantir une fonctionnalité correcte. Pour plus d'informations, consultez la documentation [Vertical Pod Autoscaler](https://github.com/kubernetes/autoscaler/tree/master/vertical-pod-autoscaler#quick-start) sur GitHub.
+ Vous pouvez configurer le collecteur [AWS Distro pour OpenTelemetry](https://aws.amazon.com/otel) (ADOT) pour la surveillance des applications en suivant [ces instructions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Container-Insights-EKS-otel.html).