Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

Création d'un cluster en mode automatique EKS à l'aide de la AWS CLI

Mode de mise au point
Création d'un cluster en mode automatique EKS à l'aide de la AWS CLI - Amazon EKS

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.

Pour contribuer à ce guide de l'utilisateur, cliquez sur le GitHub lien Modifier cette page sur qui se trouve dans le volet droit de chaque 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.

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.

Pour contribuer à ce guide de l'utilisateur, cliquez sur le GitHub lien Modifier cette page sur qui se trouve dans le volet droit de chaque 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.

Les clusters en mode automatique EKS automatisent les tâches de gestion de routine des clusters pour le calcul, le stockage et la mise en réseau. Par exemple, les clusters en mode automatique EKS détectent automatiquement lorsque des nœuds supplémentaires sont nécessaires et fournissent de nouvelles EC2 instances pour répondre aux demandes de charge de travail.

Cette rubrique explique comment créer un nouveau cluster en mode automatique EKS à l'aide de la AWS CLI et éventuellement déployer un exemple de charge de travail.

Prérequis

  • La dernière version de l'interface de ligne de AWS commande (AWS CLI) installée et configurée sur votre appareil. Pour vérifier votre version actuelle, utilisez aws --version. Pour installer la dernière version, consultez la section Installation et configuration rapide avec aws configure dans le Guide de l'utilisateur de l'interface de ligne de AWS commande.

    • Connectez-vous à la CLI avec des autorisations IAM suffisantes pour créer des AWS ressources, notamment des politiques IAM, des rôles IAM et des clusters EKS.

  • L'outil de ligne de commande kubectl installé sur votre appareil. AWS suggère que vous utilisiez la même version de kubectl que la version Kubernetes de votre cluster EKS. Pour installer ou mettre à jour kubectl, consultez. Configurez kubectl et eksctl

Spécifier les sous-réseaux VPC

Amazon EKS Auto Mode déploie des nœuds sur des sous-réseaux VPC. Lorsque vous créez un cluster EKS, vous devez spécifier les sous-réseaux VPC dans lesquels les nœuds seront déployés. Vous pouvez utiliser les sous-réseaux VPC par défaut de votre AWS compte ou créer un VPC dédié aux charges de travail critiques.

À l'aide de la AWS CLI :

  1. Exécutez la commande suivante pour répertorier le VPC par défaut et ses sous-réseaux :

    aws ec2 describe-subnets --filters "Name=vpc-id,Values=$(aws ec2 describe-vpcs --query 'Vpcs[?IsDefault==`true`].VpcId' --output text)" --query 'Subnets[*].{ID:SubnetId,AZ:AvailabilityZone}' --output table
  2. Enregistrez la sortie et notez le sous-réseau IDs.

    Exemple de sortie :

    ----------------------------------------
    |             DescribeSubnets          |
    ----------------------------------------
    |   SubnetId        |   AvailabilityZone  |
    |--------------------|---------------------|
    |   subnet-012345678 |   us-west-2a        |
    |   subnet-234567890 |   us-west-2b        |
    |   subnet-345678901 |   us-west-2c        |
    ----------------------------------------

À l'aide de la AWS CLI :

  1. Exécutez la commande suivante pour répertorier le VPC par défaut et ses sous-réseaux :

    aws ec2 describe-subnets --filters "Name=vpc-id,Values=$(aws ec2 describe-vpcs --query 'Vpcs[?IsDefault==`true`].VpcId' --output text)" --query 'Subnets[*].{ID:SubnetId,AZ:AvailabilityZone}' --output table
  2. Enregistrez la sortie et notez le sous-réseau IDs.

    Exemple de sortie :

    ----------------------------------------
    |             DescribeSubnets          |
    ----------------------------------------
    |   SubnetId        |   AvailabilityZone  |
    |--------------------|---------------------|
    |   subnet-012345678 |   us-west-2a        |
    |   subnet-234567890 |   us-west-2b        |
    |   subnet-345678901 |   us-west-2c        |
    ----------------------------------------

Rôles IAM pour les clusters en mode automatique EKS

Rôle IAM du cluster

Le mode automatique d'EKS nécessite un rôle IAM de cluster pour effectuer des actions sur votre AWS compte, telles que le provisionnement de nouvelles EC2 instances. Vous devez créer ce rôle pour accorder à EKS les autorisations nécessaires. AWS recommande d'associer les politiques AWS gérées suivantes au rôle IAM du cluster :

Rôle IAM du nœud

Lorsque vous créez un cluster en mode automatique EKS, vous spécifiez un rôle Node IAM. Lorsque le mode automatique d'EKS crée des nœuds pour traiter les charges de travail en attente, le rôle Node IAM est attribué à chaque nouveau nœud d' EC2 instance. Ce rôle permet au nœud de communiquer avec EKS mais n'est généralement pas accessible aux charges de travail exécutées sur le nœud.

Si vous souhaitez accorder des autorisations aux charges de travail exécutées sur un nœud, utilisez EKS Pod Identity. Pour de plus amples informations, veuillez consulter Découvrez comment EKS Pod Identity permet aux pods d'accéder aux AWS services.

Vous devez créer ce rôle et y associer la politique AWS gérée suivante :

Le mode automatique EKS nécessite également un rôle lié au service, qui est automatiquement créé et configuré par. AWS Pour plus d'informations, consultez AWSServiceRoleForAmazonEKS.

Création d'un rôle IAM de cluster en mode automatique EKS

Étape 1 : Création de la politique de confiance

Créez une politique de confiance qui autorise le service Amazon EKS à assumer ce rôle. Enregistrez la politique sous la forme suivante trust-policy.json :

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "eks.amazonaws.com"
      },
      "Action": [
        "sts:AssumeRole",
        "sts:TagSession"
      ]
    }
  ]
}

Étape 2 : Création du rôle IAM

Utilisez la politique de confiance pour créer le rôle IAM du cluster :

aws iam create-role \
    --role-name AmazonEKSAutoClusterRole \
    --assume-role-policy-document file://trust-policy.json

Étape 3 : notez l'ARN du rôle

Récupérez et enregistrez l'ARN du nouveau rôle pour l'utiliser lors des étapes suivantes :

aws iam get-role --role-name AmazonEKSAutoClusterRole --query "Role.Arn" --output text

Étape 4 : Joindre les politiques requises

Associez les politiques AWS gérées suivantes au rôle IAM du cluster pour accorder les autorisations nécessaires :

EKSClusterPolitique d'Amazon :

aws iam attach-role-policy \
    --role-name AmazonEKSAutoClusterRole \
    --policy-arn arn:aws:iam::aws:policy/AmazonEKSClusterPolicy

EKSComputePolitique d'Amazon :

aws iam attach-role-policy \
    --role-name AmazonEKSAutoClusterRole \
    --policy-arn arn:aws:iam::aws:policy/AmazonEKSComputePolicy

Amazon EKSBlock StoragePolicy :

aws iam attach-role-policy \
    --role-name AmazonEKSAutoClusterRole \
    --policy-arn arn:aws:iam::aws:policy/AmazonEKSBlockStoragePolicy

Amazon EKSLoad BalancingPolicy :

aws iam attach-role-policy \
    --role-name AmazonEKSAutoClusterRole \
    --policy-arn arn:aws:iam::aws:policy/AmazonEKSLoadBalancingPolicy

EKSNetworkingPolitique d'Amazon :

aws iam attach-role-policy \
    --role-name AmazonEKSAutoClusterRole \
    --policy-arn arn:aws:iam::aws:policy/AmazonEKSNetworkingPolicy

Création d'un rôle IAM pour un nœud en mode automatique EKS

Étape 1 : Création de la politique de confiance

Créez une politique de confiance qui autorise le service Amazon EKS à assumer ce rôle. Enregistrez la politique sous la forme suivante node-trust-policy.json :

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "ec2.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

Étape 2 : créer le rôle Node IAM

Utilisez le fichier node-trust-policy.json de l'étape précédente pour définir les entités qui peuvent assumer le rôle. Exécutez la commande suivante pour créer le rôle Node IAM :

aws iam create-role \
    --role-name AmazonEKSAutoNodeRole \
    --assume-role-policy-document file://node-trust-policy.json

Étape 3 : notez l'ARN du rôle

Après avoir créé le rôle, récupérez et enregistrez l'ARN du rôle Node IAM. Vous aurez besoin de cet ARN dans les étapes suivantes. Utilisez la commande suivante pour obtenir l'ARN :

aws iam get-role --role-name AmazonEKSAutoNodeRole --query "Role.Arn" --output text

Étape 4 : Joindre les politiques requises

Associez les politiques AWS gérées suivantes au rôle Node IAM pour fournir les autorisations nécessaires :

Amazon EKSWorker NodeMinimalPolicy :

aws iam attach-role-policy \
    --role-name AmazonEKSAutoNodeRole \
    --policy-arn arn:aws:iam::aws:policy/AmazonEKSWorkerNodeMinimalPolicy

Amazon EC2 ContainerRegistryPullOnly :

aws iam attach-role-policy \
    --role-name AmazonEKSAutoNodeRole \
    --policy-arn arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryPullOnly

Création d'un cluster en mode automatique EKS

Présentation

Pour créer un cluster en mode automatique EKS à l'aide de la AWS CLI, vous aurez besoin des paramètres suivants :

  • cluster-name: nom du cluster.

  • k8s-version: La version de Kubernetes (par exemple, 1.31).

  • subnet-ids: sous-réseau IDs identifié lors des étapes précédentes.

  • cluster-role-arn: ARN du rôle IAM du cluster.

  • node-role-arn: ARN du rôle IAM du nœud.

Configurations de cluster par défaut

Passez en revue ces valeurs et fonctionnalités par défaut avant de créer le cluster :

  • nodePools: Le mode automatique EKS inclut les pools de nœuds à usage général et les pools de nœuds par défaut du système. En savoir plus sur les pools de nœuds.

Remarque : les pools de nœuds en mode automatique EKS sont différents des groupes de nœuds gérés par Amazon EKS mais peuvent coexister dans le même cluster.

  • computeConfig.enabled: automatise les tâches de calcul de routine, telles que la création et la suppression d' EC2 instances.

  • kubernetesNetworkConfig.elasticLoadBalancing.enabled: automatise les tâches d'équilibrage de charge, notamment la création et la suppression d'Elastic Load Balancers.

  • storageConfig.blockStorage.enabled: automatise les tâches de stockage, telles que la création et la suppression de volumes Amazon EBS.

  • accessConfig.authenticationMode: Nécessite des entrées d'accès EKS. En savoir plus sur les modes d'authentification EKS.

Exécutez la commande

Utilisez la commande suivante pour créer le cluster :

aws eks create-cluster \
  --region ${AWS_REGION} \
  --cli-input-json \
  "{
      \"name\": \"${CLUSTER_NAME}\",
      \"version\": \"${K8S_VERSION}\",
      \"roleArn\": \"${CLUSTER_ROLE_ARN}\",
      \"resourcesVpcConfig\": {
        \"subnetIds\": ${SUBNETS_JSON},
        \"endpointPublicAccess\": true,
        \"endpointPrivateAccess\": true
      },
      \"computeConfig\": {
        \"enabled\": true,
        \"nodeRoleArn\":\"${NODE_ROLE_ARN}\",
        \"nodePools\": [\"general-purpose\", \"system\"]
      },
      \"kubernetesNetworkConfig\": {
        \"elasticLoadBalancing\": {
          \"enabled\": true
        }
      },
      \"storageConfig\": {
        \"blockStorage\": {
          \"enabled\": true
        }
      },
      \"accessConfig\": {
        \"authenticationMode\": \"API\"
      }
    }

Vérifier l'état du cluster

Étape 1 : vérifier la création du cluster

Exécutez la commande suivante pour vérifier l'état de votre cluster. La création d'un cluster prend généralement environ 15 minutes :

aws eks describe-cluster --name "${CLUSTER_NAME}" --output json

Étape 2 : Mettre à jour kubeconfig

Une fois que le cluster est prêt, mettez à jour votre fichier kubeconfig local pour permettre kubectl de communiquer avec le cluster. Cette configuration utilise la AWS CLI pour l'authentification.

aws eks update-kubeconfig --name "${CLUSTER_NAME}"

Étape 3 : vérifier les pools de nœuds

Répertoriez les pools de nœuds de votre cluster à l'aide de la commande suivante :

kubectl get nodepools

Étapes suivantes

Rubrique suivante :

Console de gestion

Rubrique précédente :

CLI exsctl
ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.