Configuration de Pod Fargate - Amazon EKS

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.

Configuration de Pod Fargate

Important

AWS Fargateavec Amazon EKS n'est pas disponible en AWS GovCloud (USA Est) et AWS GovCloud (USA Ouest).

Cette section décrit certains des détails de configuration de Pod unique pour l'exécution de Pods Kubernetes sur AWS Fargate.

CPU et mémoire Pod

Grâce à Kubernetes, vous avez la possibilité de définir des demandes, une quantité minimale de vCPU et des ressources de mémoire allouées à chaque conteneur dans un Pod. Les Pods sont programmés par Kubernetes pour s'assurer qu'au moins les ressources demandées pour chaque Pod soient disponibles sur la ressource de calcul. Pour plus d'informations, consultez Gestion des ressources de calcul des conteneurs dans la documentation Kubernetes.

Note

Étant donné qu'Amazon EKS Fargate n'exécute qu'un seul Pod par nœud, le scénario d'expulsion des Pods en cas de diminution des ressources ne se produit pas. Tous les Pods Amazon EKS Fargate s'exécutent avec une priorité garantie, de sorte que le processeur et la mémoire demandés soient égaux à la limite pour tous les conteneurs. Pour plus d'informations, voir Configuration de la qualité de service des Pods dans la documentation Kubernetes.

Lorsque les Pods sont programmés sur Fargate, les réservations de vCPU et de mémoire dans la spécification du Pod déterminent la quantité de processeur et de mémoire à allouer au Pod.

  • La demande maximale de tous les conteneurs Init est utilisée pour déterminer les besoins en vCPU et en mémoire de la demande Init.

  • Les demandes de tous les conteneurs à longue durée d'exécution sont additionnées pour déterminer les besoins en vCPU et en mémoire de la demande à longue durée d'exécution.

  • La plus grande des deux valeurs ci-dessus est choisie pour la demande de vCPU et la demande de mémoire à utiliser pour votre Pod.

  • Fargate ajoute 256 Mo à la réservation de mémoire de chaque Pod pour les composants Kubernetes requis (kubelet, kube-proxy et containerd).

Fargate arrondit la configuration de calcul indiquée ci-dessous qui correspond le mieux à la somme des demandes de vCPU et les demandes de mémoire, afin de garantir que les Pods disposent toujours des ressources dont elles ont besoin pour s'exécuter.

Si vous ne spécifiez pas de combinaison vCPU et mémoire, la plus petite combinaison disponible est utilisée (0,25 vCPU et 0,5 Go de mémoire).

Le tableau suivant répertorie les combinaisons de vCPU et de mémoire qui sont disponibles pour les Pods qui s'exécutent sur Fargate.

Valeur vCPU

Valeur de mémoire

0,25 vCPU

0,5 Go, 1 Go, 2 Go

0,5 vCPU

1 Go, 2 Go, 3 Go, 4 Go

1 vCPU

2 Go, 3 Go, 4 Go, 5 Go, 6 Go, 7 Go, 8 Go

2 vCPU

Entre 4 Go et 16 Go par incrément de 1 Go

4 vCPU

Entre 8 Go et 30 Go par incrément de 1 Go

8 vCPU

Entre 16 Go et 60 Go par incréments de 4 Go

16 vCPU

Entre 32 Go et 120 Go par incréments de 8 Go

La mémoire supplémentaire réservée aux composants Kubernetes peut entraîner le provisionnement d'une tâche Fargate avec plus de vCPU que le nombre demandé. Par exemple, une demande pour 1 vCPU et 8 Go de mémoire verra 256 Mo ajoutés à sa demande de mémoire, et approvisionnera une tâche Fargate avec 2 vCPU et 9 Go de mémoire, puisqu'aucune tâche avec 1 vCPU et 9 Go de mémoire n'est disponible.

Il n'existe pas de corrélation entre la taille du Pod s'exécutant sur Fargate et la taille du nœud signalée par Kubernetes avec kubectl get nodes. La taille du nœud signalée est souvent supérieure à la capacité du Pod. Vous pouvez vérifier la capacité du Pod avec la commande suivante. Remplacez default par l'espace de noms de votre Pod et pod-name par le nom de votre Pod.

kubectl describe pod --namespace default pod-name

L'exemple qui suit illustre un résultat.

[...]
annotations:
    CapacityProvisioned: 0.25vCPU 0.5GB
[...]

L'annotation CapacityProvisioned représente la capacité du Pod appliquée et détermine le coût de votre Pod qui s'exécute sur Fargate. Pour plus d'informations sur la tarification des configurations de calcul, reportez-vous à Tarification AWS Fargate.

Stockage Fargate

Un Pod exécuté sur Fargate monte automatiquement un système de fichiers Amazon EFS. Vous ne pouvez pas utiliser l'approvisionnement dynamique des volumes persistants avec les nœuds Fargate, mais vous pouvez utiliser l'approvisionnement statique. Pour plus d'informations, consultez Amazon EFS CSI Driver activé GitHub.

Une fois provisionné, chaque Pod exécuté sur Fargate reçoit par défaut un espace de stockage éphémère de 20 GiB. Ce type de stockage est supprimé après l'arrêt du Pod. Lorsque de nouveaux Pods sont lancés sur Fargate, le chiffrement du volume de stockage éphémère est activé par défaut. Le stockage éphémère du Pod est chiffré avec un algorithme de chiffrement AES-256 utilisant des clés gérées par AWS Fargate.

Note

La capacité de stockage par défaut pour les Pods Amazon EKS exécutés sur Fargate est inférieure à 20 GiB. C'est parce qu'une partie de l'espace est utilisée par le kubelet et d'autres modules Kubernetes chargés dans le Pod.

Vous pouvez augmenter la capacité totale de stockage éphémère jusqu'à un maximum de 175 GiB. Pour configurer la taille avec Kubernetes, spécifiez les demandes de ressource ephemeral-storage pour chaque conteneur d'un Pod. Lorsque Kubernetes programme les Pods, le système s'assure que la somme des demandes de ressources pour chaque Pod est inférieure à la capacité de la tâche Fargate. Pour plus d'informations, voir Gestion des ressources des Pods et des conteneurs dans la documentation Kubernetes.

Amazon EKS Fargate alloue une capacité de stockage éphémère supérieure à celle demandée aux fins de l'utilisation du système. Par exemple, une demande de 100 GiB allouera à une tâche Fargate une capacité de stockage éphémère de 115 GiB.