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.
Comprendre les détails de configuration des pods Fargate
Cette section décrit certains des détails de configuration uniques des pods pour l’exécution de pods Kubernetes sur AWS Fargate.
CPU et mémoire d'un pod
Avec Kubernetes, vous pouvez définir des demandes, un nombre minimal de ressources vCPU et mémoire qui sont allouées à chaque conteneur dans un pod. Les pods sont planifiés par Kubernetes pour garantir qu’au moins les ressources demandées pour chaque pod sont disponibles sur la ressource de calcul. Pour plus d'informations, consultez Gestion des ressources de calcul des conteneurs
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 ressources insuffisantes ne se produit pas. Tous les pods Amazon EKS Fargate s’exécutent avec une priorité garantie, de sorte que le CPU et la mémoire demandés doivent être égaux à la limite pour tous les conteneurs. Pour plus d'informations, consultez Configurer la qualité de service pour les pods
Lorsque les pods sont planifiés sur Fargate, les réservations de vCPU et de mémoire dans la spécification du pod déterminent la quantité de CPU 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, etcontainerd).
Fargate arrondit à la configuration informatique suivante qui correspond le mieux à la somme des demandes de vCPU et de mémoire afin de garantir que les pods disposent toujours des ressources nécessaires à leur fonctionnement.
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 fonctionnant 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 l'approvisionnement d'une tâche Fargate avec plus de vCPU que 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 fonctionnant 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 fonctionnant sur Fargate. Pour plus d'informations sur la tarification de ces configurations de calcul, reportez-vous à Tarification AWS
Stockage Fargate
Un Pod fonctionnant sur Fargate monte automatiquement un système de fichiers Amazon EFS, sans nécessiter d’étapes manuelles d’installation de pilotes. 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, voir Pilote CSI Amazon EFS
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 des pods 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. En effet, une partie de l’espace est utilisée par le module 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 ressources ephemeral-storage pour chaque conteneur dans un pod. Lorsque Kubernetes planifie les pods, il 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, consultez la section Gestion des ressources pour les pods et les conteneurs
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.