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.
Vous souhaitez contribuer à ce guide de l'utilisateur ? Choisissez le GitHub lien Modifier cette page sur qui se trouve dans le volet droit de chaque page. 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.
Commencez à utiliser AWS Fargate pour votre cluster
Cette rubrique décrit comment commencer à courir 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 façon, Fargate Pods peut 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 Contrôlez l'accès réseau au point de terminaison du serveur API du cluster.
Prérequis
Un cluster existant. Si vous ne possédez pas encore de cluster Amazon EKS, consultezMise en route avec Amazon EKS.
Étape 1 : Assurez-vous que les nœuds existants peuvent communiquer avec Fargate Pods
Si vous travaillez avec un nouveau cluster sans nœuds, ou un cluster avec uniquement des groupes de nœuds gérés (voirSimplifiez le cycle de vie des nœuds avec des groupes de nœuds gérés), vous pouvez passer àÉtape 2 : Création d'un Fargate Pod rôle d’exécution.
Supposons que vous travaillez avec un cluster existant auquel des nœuds sont déjà associés. Assurez-vous que Pods sur ces nœuds, vous pouvez communiquer librement avec Pods qui fonctionnent sur Fargate. 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 de 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é (voirSimplifiez le cycle de vie des nœuds avec des groupes de nœuds gérés).
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 la section Modification des groupes de sécurité d'une instance dans le guide de l'utilisateur Amazon VPC.
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éation d'un Fargate Pod rôle d’exécution
Lorsque votre cluster crée Pods sur AWS Fargate, les composants qui s'exécutent sur l'infrastructure Fargate doivent effectuer des appels en votre nom. AWS APIs L'Amazon EKS Pod le rôle d'exécution fournit les autorisations IAM pour ce faire. Pour créer un AWS Fargate Pod rôle d'exécution, voirAmazon EKS Pod rôle d'exécution IAM.
Note
Si vous avez créé votre cluster en eksctl
utilisant --fargate
cette option, votre cluster possède déjà un Pod rôle d'exécution que vous pouvez trouver dans la console IAM avec le modèle. eksctl-my-cluster-FargatePodExecutionRole-ABCDEFGHIJKL
De même, si vous utilisez eksctl
pour créer vos profils Fargate, crée votre eksctl
Pod rôle d'exécution s'il n'en est pas déjà créé un.
Étape 3 : Créez un profil Fargate pour votre cluster
Avant de pouvoir planifier Pods qui s'exécutent sur Fargate dans votre cluster, vous devez définir un profil Fargate qui spécifie quels Pods utilisez Fargate lors de leur lancement. Pour de plus amples informations, veuillez consulter Définissez lequel Pods utiliser AWS Fargate au lancement.
Note
Si vous avez créé votre cluster en eksctl
utilisant --fargate
cette option, un profil Fargate est déjà créé pour votre cluster avec des sélecteurs pour tous Pods dans les default
espaces kube-system
de noms et. 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 à l'aide de l'un des outils suivants :
eksctl
Cette procédure nécessite eksctl
version 0.199.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
.
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, --labels
cette option 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 de profils Fargate.
AWS Management Console
Pour créer un profil Fargate avec AWS Management Console
-
Ouvrez la console Amazon EKS
. -
Choisissez le cluster pour lequel vous voulez créer un profil Fargate.
-
Choisissez l'onglet Calcul.
-
Sous Fargate profiles (Profils Fargate), choisissez Add Fargate profile (Ajouter un profil Fargate).
-
Sur la page Configure Fargate profile (Configurer le profil Fargate), procédez comme suit :
-
Dans Nom, saisissez un nom pour votre profil Fargate. Le nom doit être unique.
-
Pour le rôle d'exécution du Pod, choisissez Pod rôle d'exécution à utiliser avec votre profil Fargate. Seuls les rôles IAM avec le principal de service
eks-fargate-pods.amazonaws.com
sont affichés. Si aucun rôle n'est répertorié, vous devez en créer un. Pour de plus amples informations, veuillez consulter Amazon EKS Pod rôle d'exécution IAM. -
Modifiez les sous-réseaux sélectionnés selon vos besoins.
Note
Seuls les sous-réseaux privés sont pris en charge pour Pods qui fonctionnent sur Fargate.
-
Dans Identifications, vous pouvez éventuellement étiqueter votre profil Fargate. Ces balises ne se propagent pas aux autres ressources associées au profil, telles que Pods.
-
Choisissez Suivant.
-
-
Sur le Configure Pod page de sélection, procédez comme suit :
-
Pour Namespace, entrez un espace de noms correspondant à Pods.
-
Vous pouvez utiliser des espaces de noms spécifiques pour les faire correspondre, tels que
kube-system
oudefault
. -
Vous pouvez utiliser certains caractères génériques (par exemple,
prod-*
) pour faire correspondre plusieurs espaces de noms (par exemple,prod-deployment
etprod-test
). Pour de plus amples informations, veuillez consulter Caractères génériques de profils Fargate.
-
-
(Facultatif) Ajouter Kubernetes étiquettes vers le sélecteur. Ajoutez-les spécifiquement à celui que Pods dans l'espace de noms spécifié doivent correspondre.
-
Vous pouvez ajouter l'étiquette
infrastructure: fargate
au sélecteur afin que Pods dans l'espace de noms spécifié qui possède également leinfrastructure: fargate
Kubernetes l'étiquette correspond 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
etkeyb: valueb
). Pour de plus amples informations, veuillez consulter Caractères génériques de profils Fargate.
-
-
Choisissez Suivant.
-
-
Sur la page Vérifier et créer, vérifiez les informations de votre profil Fargate et choisissez Créer.
Étape 4 : mise à jour CoreDNS
Par défaut, CoreDNS est configuré pour fonctionner sur l' EC2 infrastructure Amazon sur des clusters Amazon EKS. Si vous souhaitez uniquement exécuter votre 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.
-
Créez un profil Fargate pour CoreDNS avec la commande suivante. Remplacez
my-cluster
par le nom de votre cluster,111122223333
par votre identifiant de compte,AmazonEKSFargatePodExecutionRole
par le nom de votre Pod rôle d'exécution, et0000000000000001
0000000000000002
, et0000000000000003
avec le IDs de vos sous-réseaux privés. Si vous n'avez pas de Pod rôle d'exécution, vous devez d'abord en créer un (voirÉtape 2 : Création d'un Fargate Pod rôle d’exécution).Important
L'ARN du rôle ne peut pas inclure de chemin autre que
/
. Par exemple, si le nom de votre rôle estdevelopment/apps/my-role
, vous devez le remplacer parmy-role
lorsque vous spécifiez l'ARN du rôle. Le format de l'ARN de rôle doit êtrearn:aws: iam::111122223333:role/role-name
.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-0000000000000001 subnet-0000000000000002 subnet-0000000000000003
-
Exécutez la commande suivante pour supprimer l'
eks.amazonaws.com/compute-type : ec2
annotation du CoreDNS Pods.kubectl patch deployment coredns \ -n kube-system \ --type json \ -p='[{"op": "remove", "path": "/spec/template/metadata/annotations/eks.amazonaws.com~1compute-type"}]'
Étapes suivantes
-
Vous pouvez commencer à migrer vos applications existantes pour les exécuter sur Fargate avec le flux suivant.
-
Créer un profil Fargatequi correspond à celui de votre application Kubernetes espace de noms et Kubernetes étiquettes.
-
Supprimer et recréer tout ce qui existe Pods afin qu'ils soient programmés sur Fargate. Par exemple, la commande suivante déclenche le déploiement de
coredns
. Vous pouvez modifier l'espace de noms et le type de déploiement pour mettre à jour votre Pods.kubectl rollout restart -n kube-system deployment coredns
-
-
Déployez le Application d'itinéraire et HTTP trafic avec Application Load Balancers pour autoriser les objets Ingress pour votre Pods fonctionnant sur Fargate.
-
Vous pouvez utiliser le Ajustez les ressources du pod avec Vertical Pod Autoscaler pour définir la taille initiale correcte du processeur et de la mémoire pour votre Fargate Pods, puis utilisez le Faites évoluer les déploiements de pods avec Horizontal Pod Autoscaler pour les redimensionner Pods. Si vous souhaitez que le Vertical Pod Autoscaler soit automatiquement redéployé Pods pour Fargate avec des combinaisons de processeur et de mémoire plus élevées, réglez le mode du Vertical Pod Autoscaler sur ou.
Auto
Recreate
Ceci permet de garantir une fonctionnalité correcte. Pour plus d'informations, consultez la documentation de Vertical Pod Autoscaler surGitHub. -
Vous pouvez configurer le collecteur AWS Distro pour OpenTelemetry
(ADOT) pour la surveillance des applications en suivant ces instructions.