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 tous.
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 avec AWS Fargate votre cluster
Important
AWS Fargate with Amazon EKS n'est pas disponible en AWS GovCloud (USA Est) et AWS GovCloud (USA Ouest).
Cette rubrique décrit comment commencer à courir Pods sur AWS Fargate votre EKS cluster Amazon.
Si vous limitez l'accès au point de terminaison public de votre cluster à l'aide de CIDR blocs, 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. Si le point de terminaison privé n'est pas activé, les CIDR blocs que vous spécifiez pour l'accès public doivent inclure les sources sortantes de votreVPC. Pour de plus amples informations, veuillez consulter Contrôlez l'accès réseau au point de terminaison API du serveur du cluster.
Prérequis
Un cluster existant. Si vous ne possédez pas encore de EKS cluster Amazon, consultezCommencez avec Amazon EKS.
Étape 1 : Assurez-vous que les nœuds existants peuvent communiquer avec Fargate Pods
Si vous utilisez un nouveau cluster sans nœuds ou un cluster avec uniquement des groupes de nœuds gérés, vous pouvez passer à Étape 2 : créer un Fargate Pod rôle d’exécution.
Supposons que vous travaillez avec un cluster existant ayant déjà des nœuds associés. Assurez-vous que Pods sur ces nœuds peuvent communiquer librement avec le 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 Simplifiez le cycle de vie des nœuds avec des 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 les vérifier pour cette compatibilité.
Pour les groupes de nœuds existants créés avec eksctl
ou avec les AWS CloudFormation modèles EKS gérés par Amazon, 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 VPC l'utilisateur Amazon.
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 AWS CLI commande suivante. Lorsque vous utilisez cette commande, remplacez
par le nom de votre cluster.my-cluster
aws eks describe-cluster --name
my-cluster
--query cluster.resourcesVpcConfig.clusterSecurityGroupId
Étape 2 : créer un Fargate Pod rôle d’exécution
Lorsque votre cluster crée Pods activé AWS Fargate, les composants qui s'exécutent sur l'infrastructure Fargate doivent effectuer des appels AWS APIs en votre nom. L'Amazon EKS Pod le rôle d'exécution fournit les IAM autorisations nécessaires pour ce faire. Pour créer un AWS Fargate Pod rôle d'exécution, voirRôle IAM d'exécution de Pod Amazon EKS.
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 IAM console avec le modèleeksctl-
. De même, si vous utilisez my-cluster
-FargatePodExecutionRole-ABCDEFGHIJKL
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 quelle Pods utilisation AWS Fargate lors du 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 en utilisant eksctl
ou la AWS Management Console.
Étape 4 : mise à jour CoreDNS
Par défaut, CoreDNS est configuré pour fonctionner sur l'EC2infrastructure Amazon sur des EKS clusters Amazon. 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
par le nom de votre cluster,my-cluster
par votre identifiant de compte,111122223333
par le nom de votre Pod rôle d'exécutionAmazonEKSFargatePodExecutionRole
, et0000000000000001
, et0000000000000002
avec vos sous-réseaux privés. IDs Si vous n'avez pas de Pod rôle d'exécution, vous devez d'abord en créer un.0000000000000003
Important
Le rôle ne ARN peut pas inclure un chemin autre que
/
. Par exemple, si le nom de votre rôle estdevelopment/apps/my-role
, vous devez le remplacermy-role
lorsque vous spécifiez le ARN rôle. Le format du rôle ARN 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éez un profil Fargate correspondant à 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 CPU et la mémoire de 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 CPU supérieures et de mémoire, 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 la AWS distribution pour OpenTelemetry
(ADOT) collecteur pour la surveillance des applications en suivant ces instructions.