Commencez à utiliser AmazonEKS, AWS Management Console et AWS CLI - Amazon EKS

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 à utiliser AmazonEKS, AWS Management Console et AWS CLI

Ce guide vous aide à créer toutes les ressources nécessaires pour démarrer avec Amazon Elastic Kubernetes Service (EKSAmazon) à l'aide des. AWS Management Console AWS CLI Dans ce guide, vous créez manuellement chaque ressource. À la fin de ce didacticiel, vous disposerez d'un EKS cluster Amazon en cours d'exécution sur lequel vous pourrez déployer des applications.

Les procédures de ce guide vous donnent une visibilité complète sur la façon dont chaque ressource est créée et dont les ressources interagissent les unes avec les autres. Si vous préférez que la plupart des ressources soient créées automatiquement, utilisez le pour eksctl CLI créer votre cluster et vos nœuds. Pour de plus amples informations, veuillez consulter Commencez avec Amazon EKS — eksctl.

Prérequis

Avant de commencer ce didacticiel, vous devez installer et configurer les outils et ressources suivants dont vous avez besoin pour créer et gérer un EKS cluster Amazon.

  • AWS CLI— Un outil de ligne de commande permettant de travailler avec AWS des services, notamment AmazonEKS. Pour plus d'informations, consultez Installation, mise à jour et désinstallation d' AWS CLI dans le Guide de l'utilisateur AWS Command Line Interface . Après l'avoir installé AWS CLI, nous vous recommandons de le configurer également. Pour plus d'informations, consultez Configuration rapide avec aws configure dans le Guide de l'utilisateur AWS Command Line Interface . Notez que la AWS CLI version v2 est requise pour utiliser l'option update-kubeconfig présentée sur cette page.

  • kubectl— Un outil en ligne de commande pour travailler avec Kubernetes clusters. Pour de plus amples informations, veuillez consulter Configuration kubectl et eksctl.

  • IAMAutorisations requises — Le principal de IAM sécurité que vous utilisez doit être autorisé à utiliser les EKS IAM rôles Amazon, les rôles liés aux services AWS CloudFormation VPC, a et les ressources associées. Pour plus d'informations, consultez Actions, ressources et clés de condition pour Amazon Elastic Kubernetes Service et utilisation des rôles liés aux services dans le guide de l'IAMutilisateur. Vous devez effectuer toutes les étapes de ce guide avec le même utilisateur. Exécutez la commande suivante pour vérifier l'utilisateur actuel :

    aws sts get-caller-identity
  • Nous vous recommandons de terminer les étapes de cette rubrique dans un shell Bash. Si vous n'utilisez pas de shell Bash, certaines commandes de script telles que les caractères de continuation de ligne et la façon dont les variables sont définies et utilisées nécessitent un ajustement pour votre shell. En outre, les règles de votre shell en matière de guillemets peuvent être différentes. Pour plus d'informations, consultez la section Utilisation de guillemets avec des chaînes AWS CLI dans le Guide de AWS Command Line Interface l'utilisateur.

Étape 1 : créer votre EKS cluster Amazon

Important

Pour démarrer le plus simplement et le plus rapidement possible, cette rubrique inclut les étapes pour créer un cluster avec des paramètres par défaut. Avant de créer un cluster pour une utilisation en production, nous vous recommandons de vous familiariser avec tous les paramètres et de déployer un cluster avec les paramètres qui répondent à vos besoins. Pour de plus amples informations, veuillez consulter Création d'un EKS cluster Amazon. Certains paramètres ne peuvent être activés que lors de la création de votre cluster.

Pour créer votre cluster
  1. Créez un Amazon VPC avec des sous-réseaux publics et privés répondant aux EKS exigences d'Amazon. region-codeRemplacez-le par tout Région AWS ce qui est pris en charge par AmazonEKS. Pour en obtenir la liste Régions AWS, consultez la section EKSPoints de terminaison et quotas Amazon dans le guide de référence AWS général. Vous pouvez le remplacer my-eks-vpc-stack par le nom de votre choix.

    aws cloudformation create-stack \ --region region-code \ --stack-name my-eks-vpc-stack \ --template-url https://s3.us-west-2.amazonaws.com/amazon-eks/cloudformation/2020-10-29/amazon-eks-vpc-private-subnets.yaml
    Astuce

    Pour obtenir la liste de toutes les ressources créées par la commande précédente, ouvrez la AWS CloudFormation console à l'adresse https://console.aws.amazon.com/cloudformation. Choisissez la pile my-eks-vpc-stack, puis choisissez l'onglet Ressources.

  2. Créez un IAM rôle de cluster et associez-y la politique EKS IAM gérée Amazon requise. Kubernetes les clusters gérés par Amazon EKS appellent d'autres AWS services en votre nom afin de gérer les ressources que vous utilisez avec le service.

    1. Copiez le contenu suivant dans un fichier nommé eks-cluster-role-trust-policy.json.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "eks.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
    2. Créez le rôle.

      aws iam create-role \ --role-name myAmazonEKSClusterRole \ --assume-role-policy-document file://"eks-cluster-role-trust-policy.json"
    3. Associez la IAM politique EKS gérée par Amazon requise au rôle.

      aws iam attach-role-policy \ --policy-arn arn:aws:iam::aws:policy/AmazonEKSClusterPolicy \ --role-name myAmazonEKSClusterRole
  3. Ouvrez la EKS console Amazon à l'adresse https://console.aws.amazon.com/eks/home#/clusters.

    Assurez-vous que l'image Région AWS affichée dans le coin supérieur droit de votre console est Région AWS celle dans laquelle vous souhaitez créer votre cluster. Si ce n'est pas le cas, choisissez le menu déroulant à côté du Région AWS nom et choisissez celui Région AWS que vous souhaitez utiliser.

  4. Sélectionnez Add cluster (Ajouter un cluster), puis Create (Créer). Si cette option ne s'affiche pas, sélectionnez d'abord Clusters dans le panneau de navigation gauche.

  5. Sur la page Configure cluster (Configurer le cluster), procédez de la façon suivante :

    1. Saisissez un Name (Nom) pour votre cluster, tel que my-cluster. Un nom ne peut contenir que des caractères alphanumériques (sensibles à la casse) et des traits d'union. Il doit commencer par un caractère alphanumérique et ne doit pas dépasser 100 caractères. Le nom doit être unique dans le Région AWS et dans Compte AWS lequel vous créez le cluster.

    2. Pour le rôle de service de cluster, choisissez myAmazonEKSClusterRole.

    3. Laissez les autres paramètres à leurs valeurs par défaut et choisissez Next (Suivant).

  6. Sur la page Specify networking (Spécifier les réseaux), procédez comme suit :

    1. Choisissez l'ID du VPC que vous avez créé à l'étape précédente dans la liste VPCdéroulante. C'est quelque chose comme vpc-00x0000x000x0x000 | my-eks-vpc-stack-VPC.

    2. Laissez les autres paramètres à leurs valeurs par défaut et choisissez Next (Suivant).

  7. Sur la page Configurer l’observabilité, cliquez sur Suivant.

  8. Sur la page Sélectionner des modules complémentaires, choisissez Suivant.

    Pour plus d'informations sur les modules complémentaires, consultez EKSModules complémentaires Amazon.

  9. Sur la page Configurer les paramètres des modules complémentaires, choisissez Suivant.

  10. Sur la page Review and create (Vérifier et créer), choisissez Create (Créer).

    À droite du nom du cluster, le cluster est en Creating (En cours de création) pendant plusieurs minutes jusqu'à la fin du processus d'approvisionnement du cluster. Ne passez à l'étape suivante que lorsque le cluster est Actif.

    Note

    Vous pouvez recevoir un message d'erreur indiquant que l'une des zones de disponibilité de votre demande n'a pas la capacité suffisante pour créer un EKS cluster Amazon. Si cela se produit, la sortie de l'erreur contient les zones de disponibilité qui peuvent prendre en charge un nouveau cluster. Essayez à nouveau de créer votre cluster avec au moins deux sous-réseaux situés dans les zones de disponibilité prises en charge pour votre compte. Pour de plus amples informations, veuillez consulter Capacité insuffisante.

Étape 2 : configurer votre ordinateur de façon à ce qu'il communique avec votre cluster

Dans cette section, vous créez un fichier kubeconfig pour votre cluster. Les paramètres de ce fichier permettent kubectl CLI de communiquer avec votre cluster.

Avant de continuer, assurez-vous que la création de votre cluster s'est bien terminée à l'étape 1.

Pour configurer votre ordinateur pour qu'il communique avec votre cluster
  1. Créez ou mettez à jour un fichier kubeconfig pour votre cluster. Remplacez region-code par la Région AWS dans laquelle vous souhaitez créer votre cluster. Remplacez my-cluster par le nom de votre cluster.

    aws eks update-kubeconfig --region region-code --name my-cluster

    Par défaut, le paramètre config est créé dans ~/.kube ou la configuration du nouveau cluster est ajoutée à un config fichier dans ~/.kube.

  2. Testez votre configuration.

    kubectl get svc
    Note

    Si vous recevez d'autres erreurs concernant les types d'autorisations ou de ressources, consultez Accès non autorisé ou refusé (kubectl) dans la rubrique relative à la résolution des problèmes.

    L'exemple qui suit illustre un résultat.

    NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE svc/kubernetes ClusterIP 10.100.0.1 <none> 443/TCP 1m

Étape 3 : créer des nœuds

Important

Pour démarrer le plus simplement et le plus rapidement possible, cette rubrique inclut les étapes pour créer des nœuds avec des paramètres par défaut. Avant de créer des nœuds pour une utilisation en production, nous vous recommandons de vous familiariser avec tous les paramètres et de déployer des nœuds avec les paramètres qui répondent à vos besoins. Pour de plus amples informations, veuillez consulter Gérez les ressources informatiques à l'aide de nœuds. Certains paramètres ne peuvent être activés que lors de la création de vos nœuds.

Vous pouvez créer un cluster à l'aide de l'un des types de nœuds suivants. Pour en savoir plus sur chaque type, consultez Gérez les ressources informatiques à l'aide de nœuds. Une fois votre cluster déployé, vous pouvez ajouter d'autres types de nœuds.

  • Fargate — Linux— Choisissez ce type de nœud si vous souhaitez exécuter Linux applications activées AWS Fargate. Fargate est un moteur de calcul sans serveur qui vous permet de déployer Kubernetes Pods sans gérer les EC2 instances Amazon.

  • Nœuds gérés — LinuxChoisissez ce type de nœud si vous souhaitez exécuter des applications Amazon Linux sur des EC2 instances Amazon. Bien que cela ne soit pas abordé dans ce guide, vous pouvez également ajouter Windows autogéré et Bottlerocketnœuds de votre cluster.

Fargate – Linux

Créez un profil Fargate. Lorsque Kubernetes Pods sont déployés avec des critères qui correspondent aux critères définis dans le profil, le Pods sont déployés à Fargate.

Pour créer un profil Fargate
  1. Créez un IAM rôle et associez-y la politique EKS IAM gérée Amazon requise. Lorsque votre cluster crée Pods sur l'infrastructure Fargate, les composants exécutés sur l'infrastructure Fargate doivent effectuer des appels en votre nom. AWS APIs Cela leur permet d'effectuer des actions telles que l'extraction d'images de conteneurs depuis Amazon ECR ou le routage des journaux vers d'autres AWS services. L'Amazon EKS Pod le rôle d'exécution fournit les IAM autorisations nécessaires pour ce faire.

    1. Copiez le contenu suivant dans un fichier nommé pod-execution-role-trust-policy.json. region-codeRemplacez-le par Région AWS celui dans lequel se trouve votre cluster. Si vous souhaitez utiliser le même rôle dans l'ensemble Régions AWS de votre compte, remplacez region-code par*. Remplacez 111122223333 par l'ID de votre compte et my-cluster par le nom de votre cluster. Si vous souhaitez utiliser le même rôle pour tous les clusters de votre compte, remplacez my-cluster par *.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:eks:region-code:111122223333:fargateprofile/my-cluster/*" } }, "Principal": { "Service": "eks-fargate-pods.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
    2. Créez un Pod IAMrôle d'exécution.

      aws iam create-role \ --role-name AmazonEKSFargatePodExecutionRole \ --assume-role-policy-document file://"pod-execution-role-trust-policy.json"
    3. Associez la IAM politique EKS gérée par Amazon requise au rôle.

      aws iam attach-role-policy \ --policy-arn arn:aws:iam::aws:policy/AmazonEKSFargatePodExecutionRolePolicy \ --role-name AmazonEKSFargatePodExecutionRole
  2. Ouvrez la EKS console Amazon à l'adresse https://console.aws.amazon.com/eks/home#/clusters.

  3. Sur la page Clusters, choisissez le cluster my-cluster.

  4. Dans la page my-clusterpage, procédez comme suit :

    1. Choisissez l'onglet Calcul.

    2. Sous Fargate profiles (Profils Fargate), sélectionnez Add Fargate Profile (Ajouter un profil Fargate).

  5. Sur la page Configure Fargate profile (Configurer le profil Fargate), procédez comme suit :

    1. Pour Nom, saisissez un nom unique pour votre profil Fargate, tel que my-profile.

    2. Pour le rôle d'exécution du Pod, choisissez le A mazonEKSFargate PodExecutionRole que vous avez créé à l'étape précédente.

    3. Sélectionnez le menu déroulant Sous-réseaux et désélectionnez tout sous-réseau dont le nom contient Public. Seuls les sous-réseaux privés sont pris en charge pour Pods qui fonctionnent sur Fargate.

    4. Choisissez Suivant.

  6. Sur le Configure Pod page de sélection, procédez comme suit :

    1. Pour Espace de noms, saisissez default.

    2. Choisissez Suivant.

  7. Sur la page Vérifier et créer, vérifiez les informations de votre profil Fargate et choisissez Créer.

  8. Après quelques minutes, le Status (Statut) de la section Fargate Profile configuration (Configuration du profil) Fargate passera de Creating (En cours de création) à Active (Actif). Ne passez à l'étape suivante que lorsque le cluster est Active (Actif).

  9. Si vous prévoyez de déployer tous Pods pour Fargate (aucun pour les nœuds EC2 Amazon), procédez comme suit pour créer un autre profil Fargate et exécuter le résolveur de noms par défaut (CoreDNS) sur Fargate.

    Note

    Si vous ne procédez pas ainsi, vous n'aurez aucun nœud à ce stade.

    1. Sur la page Profil de Fargate, sélectionnez my-profile.

    2. Sous Fargate profiles (Profils Fargate), choisissez Add Fargate Profile (Ajouter un profil Fargate).

    3. Pour Name (Nom), saisissez CoreDNS.

    4. Pour le rôle d'exécution du Pod, choisissez le A mazonEKSFargate PodExecutionRole que vous avez créé à l'étape précédente.

    5. Sélectionnez le menu déroulant Sous-réseaux et désélectionnez tout sous-réseau dont le nom contient Public. Seuls les sous-réseaux privés sont pris en charge pour Pods fonctionnant sur Fargate.

    6. Choisissez Suivant.

    7. Pour Espace de noms, saisissez kube-system.

    8. Choisissez Match labels (Faire correspondre les étiquettes), puis choisissez Add label (Ajouter une étiquette).

    9. Saisissez k8s-app pour Key (Clé), et kube-dns pour la valeur. Cela est nécessaire pour le résolveur de noms par défaut (CoreDNS) à déployer sur Fargate.

    10. Choisissez Suivant.

    11. Sur la page Vérifier et créer, vérifiez les informations de votre profil Fargate et choisissez Créer.

    12. Exécutez la commande suivante pour supprimer l'eks.amazonaws.com/compute-type : ec2annotation par défaut 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"}]'
    Note

    Le système crée et déploie deux nœuds basés sur l'étiquette de profil Fargate que vous avez ajoutée. Vous ne verrez rien de répertorié dans Node Groups (Groupes de nœuds) car ils ne sont pas applicables aux nœuds Fargate, mais vous verrez les nouveaux nœuds répertoriés dans l'onglet Overview (Présentation).

Managed nodes – Linux

Créez un groupe de nœuds gérés, en spécifiant les sous-réseaux et le IAM rôle de nœud que vous avez créés lors des étapes précédentes.

Pour créer votre Amazon EC2 Linux groupe de nœuds gérés
  1. Créez un IAM rôle de nœud et associez-y la politique EKS IAM gérée Amazon requise. Le kubelet daemon du EKS nœud Amazon effectue des appels AWS APIs en votre nom. Les nœuds reçoivent des autorisations pour ces API appels via un profil d'IAMinstance et les politiques associées.

    1. Copiez le contenu suivant dans un fichier nommé node-role-trust-policy.json.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
    2. Créez le IAM rôle de nœud.

      aws iam create-role \ --role-name myAmazonEKSNodeRole \ --assume-role-policy-document file://"node-role-trust-policy.json"
    3. Associez les IAM politiques gérées requises au rôle.

      aws iam attach-role-policy \ --policy-arn arn:aws:iam::aws:policy/AmazonEKSWorkerNodePolicy \ --role-name myAmazonEKSNodeRole aws iam attach-role-policy \ --policy-arn arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly \ --role-name myAmazonEKSNodeRole aws iam attach-role-policy \ --policy-arn arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy \ --role-name myAmazonEKSNodeRole
  2. Ouvrez la EKS console Amazon à l'adresse https://console.aws.amazon.com/eks/home#/clusters.

  3. Choisissez le nom du cluster dans lequel vous avez crééÉtape 1 : créer votre EKS cluster Amazon, tel que my-cluster.

  4. Dans la page my-clusterpage, procédez comme suit :

    1. Choisissez l'onglet Compute (Calcul).

    2. Choisissez Add Node Group (Ajouter un groupe de nœuds).

  5. Sur la page Configure Node Group (Configurer le groupe de nœuds), procédez comme suit :

    1. Pour Name (Nom), saisissez un nom unique pour votre groupe de nœuds gérés, tel que my-nodegroup. Le nom du groupe de nœuds ne peut pas dépasser 63 caractères. Il doit commencer par une lettre ou un chiffre, mais peut également inclure des tirets et des traits de soulignement pour les autres caractères.

    2. Pour le nom du IAM rôle du nœud, choisissez myAmazonEKSNodeRole rôle que vous avez créé lors d'une étape précédente. Nous recommandons que chaque groupe de nœuds utilise son propre IAM rôle unique.

    3. Choisissez Suivant.

  6. Sur la page Set compute and scaling configuration (Définir la configuration de calcul et de mise à l'échelle), acceptez les valeurs par défaut et choisissez Next (Suivant).

  7. Sur la page Specify networking (Spécifier les réseaux), acceptez les valeurs par défaut et choisissez Next (Suivant).

  8. Sur la page Review and create (Vérifier et créer), vérifiez la configuration de votre groupe de nœuds gérés et choisissez Create (Créer).

  9. Après quelques minutes, le Status (Statut) dans la Node Group configuration (Configuration du groupe de nœuds) passera de Creating (En cours de création) à Active (Actif). Ne passez à l'étape suivante que lorsque le cluster est Active (Actif).

Étape 4 : afficher les ressources

Vous pouvez consulter vos nœuds et Kubernetes charges de travail.

Pour afficher vos nœuds et vos charges de travail
  1. Dans le panneau de navigation de gauche, choisissez Clusters. Dans la liste des clusters, choisissez le nom du cluster que vous avez créé, tel que my-cluster.

  2. Dans la page my-clusterpage, choisissez ce qui suit :

    1. Onglet Compute (Calcul) – La liste Nodes (Nœuds) qui ont été déployés pour le cluster s'affiche. Vous pouvez choisir le nom d'un nœud pour voir plus d'informations à son sujet.

    2. Onglet Ressources : vous pouvez voir tous les Kubernetes ressources déployées par défaut sur un EKS cluster Amazon. Sélectionnez un type de ressources dans la console pour en savoir plus.

Étape 5 : Suppression des ressources

Une fois que vous avez terminé avec le cluster et les nœuds que vous avez créés pour ce didacticiel, vous devez supprimer les ressources que vous avez créées. Si vous souhaitez exécuter d'autres opérations avec ce cluster de supprimer les ressources, consultez Étapes suivantes.

Pour supprimer les ressources que vous avez créées dans ce guide
  1. Supprimez les groupes de nœuds ou les profils Fargate que vous avez créés.

    1. Ouvrez la EKS console Amazon à l'adresse https://console.aws.amazon.com/eks/home#/clusters.

    2. Dans le panneau de navigation de gauche, choisissez Clusters. Dans la liste des clusters, choisissez my-cluster.

    3. Choisissez l'onglet Calcul.

    4. Si vous avez créé un groupe de nœudsélectionnez le groupe de nœuds my-nodegroup, puis cliquez sur Supprimer. Entrez my-nodegroup, puis choisissez Delete (Supprimer).

    5. Pour chaque profil Fargate que vous avez créé, choisissez-le, puis choisissez Delete (Supprimer). Saisissez le nom du profil, puis choisissez Delete (Supprimer).

      Note

      Lorsque vous supprimez un deuxième profil Fargate, vous devrez peut-être attendre que la suppression du premier profil soit terminée.

    6. Ne continuez pas tant que le groupe de nœuds ou les profils Fargate supprimés.

  2. Supprimez le cluster.

    1. Dans le panneau de navigation de gauche, choisissez Clusters. Dans la liste des clusters, choisissez my-cluster.

    2. Choisissez Supprimer le cluster.

    3. Saisissez my-cluster (supprimer), puis sélectionnez Delete (Supprimer). Ne continuez pas jusqu'à ce que le cluster soit supprimé.

  3. Supprimez la VPC AWS CloudFormation pile que vous avez créée.

    1. Ouvrez la AWS CloudFormation console à l'adresse https://console.aws.amazon.com/cloudformation.

    2. Choisissez la pile my-eks-vpc-stack, puis choisissez Supprimer.

    3. Dans le menu Supprimer my-eks-vpc-stackdans la boîte de dialogue de confirmation, choisissez Supprimer la pile.

  4. Supprimez les IAM rôles que vous avez créés.

    1. Ouvrez la IAM console à l'adresse https://console.aws.amazon.com/iam/.

    2. Dans le panneau de navigation de gauche, choisissez Rôles.

    3. Sélectionnez chaque rôle que vous avez créé dans la liste (myAmazonEKSClusterRole, ainsi que A mazonEKSFargate PodExecutionRole oumyAmazonEKSNodeRole). Choisissez Supprimer, entrez le texte de confirmation demandé, puis sélectionnez Supprimer.

Étapes suivantes

Les rubriques suivantes de la documentation vous aideront à étendre les fonctionnalités de votre cluster.