Complete a 3 Question Survey and Earn a re:Post Badge
Help improve AWS Support Official channel in re:Post and share your experience - complete a quick three-question survey to earn a re:Post badge!
Comment résoudre les problèmes lorsque je crée un profil AWS Fargate ?
Je rencontre des problèmes lorsque je crée un profil AWS Fargate.
Brève description
Un profil Fargate est un mécanisme permettant de spécifier quels pods sont planifiés sur les nœuds Fargate d'un cluster Amazon Elastic Kubernetes Service (Amazon EKS).
Un profil Fargate possède des sélecteurs qui correspondent à chaque fichier YAML de spécification de pod entrant. La correspondance doit être réussie et les considérations d'AWS Fargate doivent respectées avant que le pod ne soit planifié sur les nœuds Fargate. Le pod est planifié avec des sous-réseaux et le rôle AWS Identity and Access Management (IAM) spécifié dans le profil Fargate.
Certaines des règles de placement de pod sont les suivantes :
- Si une spécification de pod comporte un espace de noms et une configuration d'étiquette correspondante, le pod est placé sur le profil Fargate qui correspond à l'espace de noms. La spécification du pod doit également correspondre aux étiquettes du sélecteur des étiquettes
- Si le profil Fargate comporte plusieurs configurations de sélecteur de pods, le pod planifié qui correspond à l'une ou l'autre des configurations de sélection de pods est utilisé.
- Si une spécification de pod correspond à plusieurs profils Fargate, le pod est planifié selon un profil Fargate aléatoire. Cela se produit à moins que l'annotation suivante ne soit spécifiée dans la spécification du pod : eks.amazonaws.com/fargate-profile.
- Les règles d'affinité et d'anti-affinité de Kubernetes ne s'appliquent pas et ne sont pas nécessaires avec les pods Amazon EKS Fargate.
Résolution
Les problèmes courants rencontrés lors de la création d'un profil Fargate sont les suivants :
Comment créer un profil Fargate pour planifier des pods sur les nœuds Fargate ?
Vous pouvez utiliser la console Amazon EKS, l'interface de ligne de commande AWS (AWS CLI), le SDK ou une API pour créer un profil Fargate.
Comment créer un profil Fargate avec AWS CloudFormation ?
Utilisez le type de ressource AWS::EKS::FargateProfile CloudFormation pour créer un profil Fargate.
Comment puis-je exécuter les pods CoreDNS uniquement sur les nœuds Fargate ?
Par défaut, CoreDNS est configuré pour s'exécuter sur l'infrastructure Amazon EC2 sur des clusters Amazon EKS. Si vous souhaitez exécuter les pods CoreDNS sur le calcul sans serveur Fargate dans votre cluster, vous devez effectuer un redémarrage de lancement des déploiements CoreDNS.
Si vous avez créé votre cluster avec eksctl et l'option --fargate, suivez les actions décrites dans Étapes suivantes.
Remarque : Il est recommandé d'utiliser eksctl pour créer ou mettre à jour des clusters EKS, car cela simplifie l'administration des ressources des clusters. Pour plus d'informations, consultez le support EKS Fargate sur le site web d'eksctl.
Quelles sont les limites par défaut pour un profil Fargate ?
Les limites par défaut lorsque vous créez un profil Fargate sont les suivantes :
- Un cluster EKS peut avoir jusqu'à dix profils Fargate.
- Le profil Fargate peut comporter jusqu'à cinq sélecteurs.
- Le sélecteur de profil Fargate peut comporter jusqu'à cinq paires d'étiquettes.
Quel rôle d'exécution du pod doit être inclus dans le profil Fargate ?
Le rôle d'exécution du pod est un rôle IAM utilisé par le nœud Fargate pour effectuer des appels d'API AWS. La politique gérée AmazonEKSFargatePodExecutionRolePolicy doit être attachée à ce rôle.
Kubelet sur le nœud Fargate utilise ce rôle IAM pour communiquer avec le serveur API. Ce rôle doit être inclus dans le ConfigMap aws-auth afin que Kubelet puisse s'authentifier auprès du serveur API. Lorsque vous créez un profil Fargate, le flux de travail Fargate ajoute automatiquement ce rôle au ConfigMap aws-auth du cluster.
Si vos nœuds Fargate apparaissent comme « Non prêts », assurez-vous que le rôle d'exécution du pod est inclus dans le ConfigMap aws-auth.
Voici un exemple d'extrait de section ConfigMap aws-auth, mapRoles après avoir créé un profil Fargate avec un rôle d'exécution de pod :
mapRoles: | - groups: - system:bootstrappers - system:nodes - system:node-proxier rolearn: <Pod_execution_role_ARN> username: system:node:{{SessionName}}
Si le ConfigMap aws-auth est modifié après la création du profil Fargate, il se peut que vous receviez cet avertissement lorsque des pods sont planifiés sur des nœuds Fargate :
Pod provisioning timed out (will retry) for pod: <pod_nginx>
Je souhaite faire migrer des charges de travail vers EKS Fargate. Comment créer des sous-réseaux et des groupes de sécurité à utiliser ?
EKS Fargate ne prend en charge que les sous-réseaux privés. Cela signifie qu'il n'existe pas de route par défaut vers la passerelle Internet dans les tables de routage associées aux sous-réseaux spécifiés dans votre profil Fargate. Vous pouvez donc configurer une passerelle NAT ou des points de terminaison VPC pour les sous-réseaux que vous souhaitez utiliser pour le profil Fargate.
Le groupe de sécurité du cluster est attaché par défaut aux nœuds Fargate. Il n'est pas nécessaire de configurer un groupe de sécurité spécifiquement à cette fin.
Si vous utilisez des points de terminaison VPC pour vos sous-réseaux, assurez-vous que l'accès aux terminaux privés est activé sur le cluster. Le groupe de sécurité attaché aux points de terminaison du VPC doit disposer d'une règle entrante qui autorise le trafic du port HTTPS 443 depuis l'adresse CIDR du VPC du cluster.
J'ai créé des profils Fargate à l'aide d'un provisionneur basé sur une API tel que Terraform ou AWS CloudFormation. Pourquoi mes profils Fargate sont-ils CREATE_FAILED state ?
Un seul profil Fargate peut être créé ou supprimé à la fois. Si vous supprimez un profil Fargate, aucun autre profil Fargate ne peut être créé ou supprimé en même temps.
Si vous utilisez un provisionneur basé sur une API, la création ou la suppression d'un profil Fargate doit commencer une fois que tous les autres profils Fargate ont été créés ou supprimés avec succès.
Puis-je spécifier les ressources (CPU, mémoire) à provisionner pour les nœuds Fargate dans le profil Fargate ?
Vous ne pouvez pas spécifier directement la quantité de ressources à provisionner dans le profil Fargate. Il est recommandé de spécifier les demandes de ressources dans le fichier YAML de spécification de votre pod Fargate. Cela permet au flux de travail Fargate d'affecter au moins cette quantité de ressources pour le pod. Pour en savoir plus sur les spécifications des pods, consultez la section Application des demandes de ressources et des limites par Kubernetes sur le site Web de Kubernetes.
La quantité de processeur virtuel ou de mémoire que vous voyez après avoir exécuté la commande kubectl describe node n'est peut-être pas la même que celle que vous avez demandée pour le pod. La quantité de mémoire et de processeur dont dispose le nœud dépend de la capacité disponible dans le groupe d'allocation de ressources Fargate. Vous êtes facturé en fonction du montant que vous avez demandé, conformément aux spécifications de votre pod. La quantité de ressources visibles avec kubectl ne vous est pas facturée.
Remarque : 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).

Contenus pertinents
- demandé il y a un anlg...
- demandé il y a un anlg...
- demandé il y a 6 moislg...
- AWS OFFICIELA mis à jour il y a 2 mois