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.
AWS Fargate profil
Important
AWS Fargate avec Amazon EKS n'est pas disponible en AWS GovCloud (USA Est) et AWS GovCloud (USA Ouest).
Avant de programmer des Pods sur Fargate dans votre cluster, vous devez définir au moins un profil Fargate qui spécifie quels Pods utilisent Fargate lorsqu'ils sont lancés.
En tant qu'administrateur, vous pouvez utiliser un profil Fargate pour déclarer les Pods à exécuter sur Fargate. Pour ce faire, vous pouvez utiliser les sélecteurs du profil. Vous pouvez ajouter jusqu'à cinq sélecteurs à chaque profil. Chaque sélecteur doit contenir un espace de noms. Le sélecteur peut également inclure des étiquettes. Le champ de label se compose de plusieurs paires clé-valeur facultatives. Les pods qui correspondent à un sélecteur sont programmés sur Fargate. Les pods sont associés à l'aide d'un espace de noms et des étiquettes spécifiées dans le sélecteur. Si un sélecteur d'espace de noms est défini sans étiquettes, Amazon EKS tente de programmer tous les Pods qui s'exécutent dans cet espace de noms sur Fargate en utilisant le profil. Si a to-be-scheduled Pod correspond à l'un des sélecteurs du profil Fargate, cela Pod est planifié sur Fargate.
Si un Pod correspond à plusieurs profils Fargate, vous pouvez spécifier quel profil un Pod utilise en ajoutant l'étiquette Kubernetes à la spécification du Pod : eks.amazonaws.com/fargate-profile:
. Le Pod doit correspondre à un sélecteur dans ce profil pour être programmé sur Fargate. Les règles d'affinité/anti-affinité Kubernetes ne s'appliquent pas et ne sont pas nécessaires avec les Pods Amazon EKS Fargate.my-fargate-profile
Lorsque vous créez un profil Fargate, vous devez spécifier un rôle d'exécution de Pod. Ce rôle d'exécution concerne les composants Amazon EKS qui s'exécutent sur l'infrastructure Fargate utilisant le profil. Il est ajouté au Role Based Access Controlkubelet
qui est exécuté sur l'infrastructure Fargate peut s'enregistrer dans votre cluster Amazon EKS et apparaître dans votre cluster comme un nœud. Le rôle d'exécution du Pod fournit également des autorisations IAM à l'infrastructure Fargate pour permettre un accès en lecture aux référentiels d'images Amazon ECR. Pour plus d’informations, consultez Rôle IAM d'exécution de Pod Amazon EKS.
Les profils Fargate ne peuvent pas être modifiés. Toutefois, vous pouvez créer un nouveau profil mis à jour pour remplacer un profil existant, puis supprimer l'original.
Note
Tous les Pods en cours d'exécution utilisant un profil Fargate seront arrêtés et mis en attente lorsque le profil sera supprimé.
Si tous les profils Fargate d'un cluster ont l'état DELETING
, vous devez attendre que ce profil Fargate soit définitivement supprimé avant de pouvoir créer d'autres profils dans ce cluster.
Amazon EKS et Fargate répartissent les Pods sur chacun des sous-réseaux qui sont définis dans le profil Fargate. Cependant, vous risquez de vous retrouver avec une répartition inégale. Si vous avez besoin d'une répartition uniforme, utilisez deux profils Fargate. Une répartition uniforme est importante dans les scénarios où vous souhaitez déployer deux répliques sans aucune interruption de service. Nous vous recommandons de n'avoir qu'un seul sous-réseau pour chaque profil.
Composants de profil Fargate
Les composants suivants sont contenus dans un profil Fargate.
- Rôle d'exécution du pod
-
Lorsque votre cluster est créé Pods AWS Fargate, celui
kubelet
qui s'exécute sur l'infrastructure Fargate doit appeler les API en votre AWS nom. Par exemple, il doit effectuer des appels pour extraire des images de conteneur à partir d'Amazon ECR. Pour ce faire, le rôle d'exécution de Pod Amazon EKS fournit les autorisations IAM.Lorsque vous créez un profil Fargate, vous devez spécifier un rôle d'exécution de Pod à utiliser avec vos Pods. Ce rôle est ajouté au contrôle d'accès basé sur les rôles
(RBAC) Kubernetes du cluster à des fins d'autorisation. Ainsi, le kubelet
exécuté sur l'infrastructure Fargate peut s'enregistrer dans votre cluster Amazon EKS et apparaître dans votre cluster comme un nœud. Pour plus d’informations, consultez Rôle IAM d'exécution de Pod Amazon EKS. - Sous-réseaux
-
Les ID des sous-réseaux pour y lancer des Pods utilisent ce profil. Pour l'instant, les Pods fonctionnant sur Fargate n'ont pas d'adresse IP publique. Par conséquent, seuls les sous-réseaux privés sans route directe vers une passerelle Internet sont acceptés pour ce paramètre.
- Sélecteurs
-
Les sélecteurs à faire correspondre pour que les Pods utilisent ce profil Fargate. Vous pouvez spécifier jusqu'à cinq sélecteurs dans un profil Fargate. Les sélecteurs intègrent les composants suivants :
-
Espace de noms : vous devez spécifier un espace de noms pour un sélecteur. Le sélecteur ne correspond qu'aux Pods qui sont créés dans cet espace de noms. Vous pouvez toutefois créer plusieurs sélecteurs pour cibler plusieurs espaces de noms.
-
Étiquettes –V ous pouvez éventuellement spécifier des étiquettes Kubernetes à faire correspondre pour le sélecteur. Le sélecteur ne correspond qu'aux Pods qui possèdent toutes les étiquettes spécifiées dans le sélecteur.
-
Caractères génériques de profils Fargate
En plus des caractères autorisés par Kubernetes, vous êtes autorisé à utiliser
et *
dans les critères de sélection pour les espaces de noms, les clés d'étiquette et les valeurs d'étiquette :?
-
représente aucun, un ou plusieurs caractères. Par exemple,*
peut représenterprod*
prod
etprod-metrics
. -
représente un caractère unique (par exemple,?
peut représentervalue?
valuea
). Cependant, il ne peut pas représentervalue
etvalue-a
, parce que?
ne peut représenter qu'un seul et unique caractère.
Ces caractères génériques peuvent être utilisés dans n'importe quelle position et en combinaison (par exemple,
, prod*
et *dev
). Les autres caractères génériques et formes de correspondance de modèles, tels que les expressions régulières, ne sont pas pris en charge.frontend*?
S'il existe plusieurs profils correspondants pour l'espace de noms et les étiquettes dans la spécification du Pod, Fargate sélectionne le profil avec un tri alphanumérique par nom de profil. Par exemple, si le profil A (avec le nom beta-workload
) et le profil B (avec le nom prod-workload
) ont des sélecteurs correspondants pour les Pods à lancer, Fargate choisit le profil A (beta-workload
) pour les Pods. Les Pods ont des étiquettes avec le profil A sur les Pods (par exemple, eks.amazonaws.com/fargate-profile=beta-workload
).
Si vous souhaitez migrer des Pods Fargate existants vers de nouveaux profils qui utilisent des caractères génériques, vous pouvez procéder de deux manières :
-
Créez un nouveau profil avec les sélecteurs correspondants, puis supprimez les anciens profils. Les pods étiquetés avec d'anciens profils sont reprogrammés vers de nouveaux profils correspondants.
-
Si vous souhaitez migrer des charges de travail mais que vous ne savez pas quelles étiquettes Fargate figurent sur chaque Pod Fargate, vous pouvez utiliser la méthode suivante. Créez un nouveau profil avec un nom qui trie d'abord par ordre alphanumérique parmi les profils du même cluster. Recyclez ensuite les Pods Fargate qui doivent être migrés vers de nouveaux profils.
Création d'un profil Fargate
Cette rubrique décrit comment créer un profil Fargate. Vous devez également avoir créé un rôle d'exécution de Pod à utiliser pour votre profil Fargate. Pour plus d'informations, consultezRôle IAM d'exécution de Pod Amazon EKS. Podsqui s'exécutent sur Fargate ne sont pris en charge que sur les sous-réseaux privés dotés d'un accès Services AWS par passerelle NAT, mais ne constituent pas une route directe vers une passerelle Internet. Le VPC de votre cluster doit donc disposer de sous-réseaux privés. Vous pouvez créer un profil avec eksctl
ou la AWS Management Console.
Cette procédure nécessite eksctl
version 0.184.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 Installationeksctl
.
Suppression d'un profil Fargate
Cette rubrique décrit comment supprimer un profil Fargate.
Lorsque vous supprimez un profil Fargate, tous les Pods qui étaient programmés sur Fargate avec ce profil sont supprimés. Si ces Pods correspondent à un autre profil Fargate, ils sont programmés sur Fargate avec ce profil. S'ils ne correspondent plus à aucun profil Fargate, ils ne sont pas planifiés sur Fargate et peuvent rester en attente.
Un seul profil Fargate d'un cluster peut avoir le statut DELETING
à la fois. Vous devez attendre que la suppression d'un profil Fargate soit terminée pour pouvoir supprimer un autre profil de ce cluster.
Vous pouvez supprimer un profil aveceksctl
, le AWS Management Console, ou le AWS CLI. Sélectionnez l'onglet portant le nom de l'outil que vous souhaitez utiliser pour supprimer votre profil.