Aidez à améliorer cette page
Pour contribuer à ce guide de l’utilisateur, cliquez sur le lien Modifier cette page sur GitHub qui se trouve dans le volet droit de chaque page.
Création d’un cluster Amazon EKS
Note
Cette rubrique décrit création de clusters EKS sans mode automatique EKS.
Pour obtenir des instructions détaillées sur la création d’un cluster du mode automatique EKS, consultez Création d’un cluster du mode automatique Amazon EKS.
Pour démarrer avec le mode automatique EKS, consultez Démarrage avec Amazon EKS – Mode automatique EKS.
Cette rubrique fournit une vue d'ensemble des options disponibles et décrit les éléments à prendre en compte lorsque vous créez un cluster Amazon EKS. Si vous devez créer un cluster en utilisant votre infrastructure sur site comme capacité de calcul pour les nœuds, consultez Créer un cluster Amazon EKS avec des nœuds hybrides. Si vous créez un cluster Amazon EKS pour la première fois, nous vous recommandons de suivre l’un des guides dans Mise en route avec Amazon EKS. Ces guides vous aident à créer un cluster par défaut simple sans développer toutes les options disponibles.
Prérequis
-
Un VPC et des sous-réseaux existants qui répondent aux exigences Amazon EKS. Avant de déployer un cluster pour une utilisation en production, nous vous recommandons de bien connaître les exigences du VPC et du sous-réseau. Si vous ne disposez pas encore d’un VPC et de sous-réseaux, vous pouvez les créer à l’aide d’un modèle AWS CloudFormation fourni par Amazon EKS.
-
L’outil de ligne de commande
kubectlest installé sur votre appareil ou dans AWS CloudShell. La version peut correspondre à celle utilisée par votre cluster Kubernetes, ou différer d’au plus une version mineure, qu’elle soit antérieure ou plus récente. Pour installer ou mettre à niveaukubectl, veuillez consulter Configuration de kubectl et eksctl. -
Version
2.12.3ou ultérieure ou version1.27.160ou ultérieure de l’interface de la ligne de commande AWS (AWS CLI) installée et configurée sur votre appareil ou dans AWS CloudShell. Pour vérifier votre version actuelle, utilisezaws --version | cut -d / -f2 | cut -d ' ' -f1. Les gestionnaires de package tels queyum,apt-getou Homebrew pour macOS ont souvent plusieurs versions de retard par rapport à la dernière version de l’AWS CLI. Pour installer la dernière version, consultez les sections Installation et Configuration rapide avec aws configure du Guide de l’utilisateur de l’interface de la ligne de commande AWS. La version de l’AWS CLI installée dans AWS CloudShell peut également être plusieurs versions derrière la dernière version. Pour la mettre à jour, consultez la section Installation de l’AWS CLI dans votre répertoire personnel dans le Guide de l’utilisateur AWS CloudShell. -
Un principal IAM disposant des autorisations
createetdescribesur un cluster Amazon EKS. Pour plus d’informations, consultez Créer un cluster Kubernetes local sur un Outpost et Affichage de la liste ou description de tous les clusters.
Étape 1 : créer un rôle IAM de cluster
-
Si vous avez déjà un rôle IAM de cluster, ou si vous allez créer votre cluster avec
eksctl, vous pouvez ignorer cette étape. Par défaut,eksctlcrée un rôle pour vous. -
Exécutez la commande suivante pour créer un fichier JSON de politique d'approbation IAM.
cat >eks-cluster-role-trust-policy.json <<EOF { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "eks.amazonaws.com" }, "Action": "sts:AssumeRole" } ] } EOF -
Créez le rôle IAM de cluster Amazon EKS. Si nécessaire, faites précéder
eks-cluster-role-trust-policy.jsonpar le chemin d'accès sur votre ordinateur sur lequel vous avez enregistré le fichier lors de l'étape précédente. La commande associe la politique d'approbation que vous avez créée lors de l'étape précédente à ce rôle. Pour créer un rôle IAM, le principal IAM qui crée le rôle doit se voir attribuer l'action (autorisation) IAMiam:CreateRole.aws iam create-role --role-name myAmazonEKSClusterRole --assume-role-policy-document file://"eks-cluster-role-trust-policy.json" -
Vous pouvez attribuer la politique gérée par Amazon EKS ou créer votre propre politique personnalisée. Pour connaître les autorisations minimales que vous devez utiliser dans votre politique personnalisée, consultez Rôle IAM de cluster Amazon EKS.
Attachez la politique gérée Amazon EKS nommée AmazonEKSClusterPolicy au rôle. Pour attacher une politique IAM à un principal IAM, le principal qui attache la politique doit se voir attribuer l'une des actions (autorisations) IAM
iam:AttachUserPolicyouiam:AttachRolePolicy.aws iam attach-role-policy --policy-arn arn:aws:iam::aws:policy/AmazonEKSClusterPolicy --role-name myAmazonEKSClusterRole
Rôle lié à un service
Amazon EKS crée automatiquement un rôle lié à un service appelé AWSServiceRoleForAmazonEKS.
Ce rôle s’ajoute au rôle IAM du cluster. Un rôle lié à un service est un type unique de rôle IAM lié directement à Amazon EKS. Ce rôle permet à Amazon EKS de gérer les clusters de votre compte. Pour de plus amples informations, consultez Utilisation de rôles pour les clusters Amazon EKS.
L’identité IAM que vous utilisez pour créer le cluster EKS doit disposer de l’autorisation nécessaire pour créer ce rôle lié à un service. Cela inclut l’autorisation iam:CreateServiceLinkedRole.
Si le rôle lié à un service n’existe pas déjà et que votre rôle IAM actuel ne dispose pas des autorisations nécessaires pour le créer, l’opération de création du cluster échouera.
Étape 2 : créer un cluster
Vous pouvez créer un cluster à l’aide de :
Créer un cluster – eksctl
-
Vous devez installer la version
0.214.0ou ultérieure de l’outil de ligne de commandeeksctlsur votre appareil ou dans AWS CloudShell. Pour installer ou mettre à joureksctl, veuillez consulter Installationdans la documentation de eksctl. -
Créez un cluster
IPv4Amazon EKS avec la version Kubernetes par défaut d’Amazon EKS dans votre région AWS par défaut. Avant d'exécuter la commande, effectuez les remplacements suivants : -
Remplacez
region-codepar la région AWS dans laquelle vous souhaitez créer votre cluster. -
Remplacez
my-clusterpar le nom de votre 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 peut pas dépasser 100 caractères. Le nom doit être unique dans la région AWS et le compte AWS dans lesquels vous créez le cluster. -
Remplacez
1.33par n’importe quelle version prise en charge d’Amazon EKS. -
Modifiez les valeurs de
vpc-private-subnetspour répondre à vos besoins. Vous pouvez également ajouter d'autres identifiants. Vous devez spécifier au moins deux ID de sous-réseau. Si vous préférez spécifier des sous-réseaux publics, vous pouvez remplacer--vpc-private-subnetspar--vpc-public-subnets. Les sous-réseaux publics ont une table de routage associée avec un routage vers une passerelle Internet, mais les sous-réseaux privés n’ont pas de table de routage associée. Nous recommandons d'utiliser des sous-réseaux privés dans la mesure du possible.Les sous-réseaux que vous choisissez doivent respecter les exigences relatives aux sous-réseaux d'Amazon EKS. Avant de sélectionner les sous-réseaux, assurez-vous de bien comprendre toutes les exigences et considérations relatives aux VPC et sous-réseaux Amazon EKS.
-
Exécutez la commande suivante :
eksctl create cluster --name my-cluster --region region-code --version 1.33 --vpc-private-subnets subnet-ExampleID1,subnet-ExampleID2 --without-nodegroupL'approvisionnement de cluster dure plusieurs minutes. Pendant la création du cluster, plusieurs lignes de sortie apparaissent. La dernière ligne de sortie est similaire à celle de l'exemple suivant.
[✓] EKS cluster "my-cluster" in "region-code" region is ready -
Poursuivez avec Étape 3 : mettre à jour kubeconfig
Paramètres facultatifs
Pour afficher la plupart des options qui peuvent être spécifiées lors de la création d'un cluster avec eksctl, utilisez la commande eksctl create cluster --help. Pour consulter toutes les options disponibles, vous pouvez utiliser un fichier config. Pour plus d'informations, consultez Utilisation des fichiers de configurationeksctl. Vous pouvez trouver des exemples de fichiers de configuration
Les paramètres suivants sont des paramètres facultatifs qui, si nécessaire, doivent être ajoutés à la commande précédente. Vous pouvez activer ces options uniquement lorsque vous créez le cluster, et non après. Si vous devez spécifier ces options, vous devez créer le cluster à l’aide d’un fichier de configuration eksctl
-
Si vous souhaitez spécifier un ou plusieurs groupes de sécurité qu’Amazon EKS doit attribuer aux interfaces réseau qu’il crée, utilisez l’option securityGroup
. Que vous choisissiez ou non un groupe de sécurité, Amazon EKS crée un groupe de sécurité qui permet la communication entre votre cluster et votre VPC. Amazon EKS associe ce groupe de sécurité, et tout ce que vous choisissez, aux interfaces réseau qu'il crée. Pour plus d'informations sur le groupe de sécurité de cluster créé par Amazon EKS, consultez Voir les exigences relatives aux groupes de sécurité Amazon EKS pour les clusters. Vous pouvez modifier les règles dans le groupe de sécurité de cluster créé par Amazon EKS.
-
Si vous souhaitez spécifier à partir de quel bloc de routage inter-domaines sans classe (CIDR)
IPv4Kubernetes attribue des adresses IP de service, utilisez l’option serviceIPv4CIDR. La spécification de votre propre plage peut aider à prévenir les conflits entre les services Kubernetes et d’autres réseaux appairés ou connectés à votre VPC. Entrez une plage en notation CIDR. Par exemple :
10.2.0.0/16.Le bloc d'adresse CIDR doit répondre aux critères suivants :
-
Être situé dans l'une des plages suivantes :
10.0.0.0/8,172.16.0.0/12, ou192.168.0.0/16. -
Avoir une taille minimale de
/24et une taille maximale de/12. -
Ne pas chevaucher la plage du VPC pour vos ressources Amazon EKS.
Vous ne pouvez spécifier cette option que lorsque vous utilisez la famille d'adresses
IPv4et uniquement lors de la création du cluster. Si vous ne spécifiez pas cela, alors Kubernetes attribue des adresses IP de service à partir des blocs CIDR10.100.0.0/16ou172.20.0.0/16.
-
-
Si vous créez un cluster et souhaitez que le cluster attribue des adresses
IPv6aux pods et aux services au lieu d’adressesIPv4, utilisez l’option ipFamily. Kubernetes attribue par défaut des adresses
IPv4aux pods et aux services. Avant de décider d’utiliser la familleIPv6, assurez-vous de bien connaître toutes les considérations et exigences mentionnées dans les rubriques Exigences et considérations requises pour le VPC, Exigences et considérations requises pour les sous-réseaux, Voir les exigences relatives aux groupes de sécurité Amazon EKS pour les clusters et Informations sur les adresses IPv6 pour les clusters, pods et services. Si vous choisissez la familleIPv6, vous ne pouvez pas spécifier une plage d’adresses à partir de laquelle Kubernetes doit attribuer les adresses de serviceIPv6, comme c’est possible avec la familleIPv4. Kubernetes attribue les adresses de service à partir de la plage d’adresses locales uniques (fc00::/7).
Créer un cluster – console AWS
-
Ouvrez la console Amazon EKS
. -
Choisissez Add cluster (Ajouter un cluster), puis choisissez Create (Créer).
-
Sous Options de configuration, sélectionnez Configuration personnalisée
-
Pour plus d’informations sur la création rapide d’un cluster avec le mode automatique EKS, consultez Création d’un cluster du mode automatique EKS à l’aide de la AWS Management Console.
-
-
Sous Mode automatique EKS, désactivez l’option Utiliser le mode automatique EKS.
-
Pour plus d’informations sur la création d’un cluster du mode automatique EKS avec une configuration personnalisée, consultez Création d’un cluster du mode automatique Amazon EKS.
-
-
Sur la page Configurer le cluster, renseignez les champs suivants :
-
Nom : nom de votre cluster. Le nom ne peut contenir que des caractères alphanumériques (sensibles à la casse), des tirets et des traits de soulignement. Il doit commencer par un caractère alphanumérique et ne peut pas dépasser 100 caractères. Le nom doit être unique dans la région AWS et le compte AWS dans lesquels vous créez le cluster.
-
Rôle IAM du cluster : choisissez le rôle IAM de cluster Amazon EKS que vous avez créé pour autoriser le plan de contrôle Kubernetes à gérer des ressources AWS en votre nom.
-
Version Kubernetes : version de Kubernetes à utiliser pour votre cluster. Nous vous recommandons de sélectionner la dernière version, sauf si vous avez besoin d'une version antérieure.
-
Type de prise en charge : la politique de version Kubernetes que vous souhaitez définir pour votre cluster. Si vous souhaitez que votre cluster fonctionne uniquement sur une version en prise en charge standard, sélectionnez Prise en charge standard. Si vous souhaitez que votre cluster bénéficie d’une prise en charge étendue à la fin de la période de prise en charge standard, sélectionnez Prise en charge étendue. Si vous sélectionnez une version de Kubernetes déjà en prise en charge étendue, vous ne pouvez pas choisir la prise en charge standard comme option.
-
Chiffrement des secrets : (facultatif) choisissez d'activer le chiffrement des secrets Kubernetes à l'aide d'une clé KMS. Vous pouvez également activer cette option une fois que vous avez créé votre cluster. Avant d’activer cette fonctionnalité, assurez-vous d’avoir pris connaissance des informations mentionnées dans Chiffrer les secrets Kubernetes avec KMS sur les clusters existants.
-
Identifications∘: (facultatif) ajoutez des identifications à votre cluster. Pour de plus amples informations, consultez Organiser les ressources Amazon EKS à l’aide de balises.
-
Changement de zone ARC : (facultatif) vous pouvez utiliser le contrôleur de récupération d’application Route 53 pour atténuer les interruptions dans les zones de disponibilité défaillantes. Pour de plus amples informations, consultez Découvrez le changement de zone du contrôleur de récupération d’application (ARC) Amazon dans Amazon EKS.
-
-
Dans la section Accès au cluster de la page de configuration du cluster, renseignez les champs suivants :
-
Amorcer l’accès administrateur au cluster : le créateur du cluster devient automatiquement administrateur Kubernetes. Si vous souhaitez désactiver cet accès automatique, sélectionnez Refuser l’accès administrateur au cluster.
-
Mode d’authentification du cluster : déterminez comment vous souhaitez accorder aux utilisateurs et aux rôles IAM l’accès aux API Kubernetes. Pour de plus amples informations, consultez Définir le mode d’authentification du cluster.
Lorsque vous avez terminé d'utiliser cette page, choisissez Suivant.
-
-
Sur la page Spécifier les réseaux sélectionnez des valeurs pour les champs suivants :
-
VPC : choisissez un VPC existant qui répond aux exigences relatives au VPC Amazon EKS pour y créer votre cluster. Avant de sélectionner un VPC, nous vous recommandons de bien connaître toutes les exigences et considérations de Afficher les exigences réseau Amazon EKS pour les VPC et les sous-réseaux. Vous ne pouvez pas modifier le VPC que vous souhaitez utiliser après la création du cluster. Si aucun VPC n'est répertorié, vous devez d'abord en créer un. Pour de plus amples informations, consultez Création d’un VPC Amazon pour votre cluster Amazon EKS.
-
Sous-réseaux : par défaut, tous les sous-réseaux disponibles dans le VPC spécifié dans le champ précédent sont présélectionnés. Vous devez en sélectionner au moins deux.
Les sous-réseaux que vous choisissez doivent respecter les exigences relatives aux sous-réseaux d'Amazon EKS. Avant de sélectionner les sous-réseaux, assurez-vous de bien comprendre toutes les exigences et considérations relatives aux VPC et sous-réseaux Amazon EKS.
Groupes de sécurité : (facultatif) spécifiez un ou plusieurs groupes de sécurité créant des interfaces réseau auxquelles vous souhaitez associer Amazon EKS.
Que vous choisissiez ou non un groupe de sécurité, Amazon EKS crée un groupe de sécurité qui permet la communication entre votre cluster et votre VPC. Amazon EKS associe ce groupe de sécurité, et tout ce que vous choisissez, aux interfaces réseau qu'il crée. Pour plus d'informations sur le groupe de sécurité de cluster créé par Amazon EKS, consultez Voir les exigences relatives aux groupes de sécurité Amazon EKS pour les clusters. Vous pouvez modifier les règles dans le groupe de sécurité de cluster créé par Amazon EKS.
-
Choisissez la famille d'adresses IP du cluster : vous pouvez choisir entre IPv4 et IPv6.
Kubernetes attribue par défaut des adresses
IPv4aux pods et aux services. Avant de décider d’utiliser la familleIPv6, assurez-vous de bien connaître toutes les considérations et exigences mentionnées dans les rubriques Exigences et considérations relatives au VPC, Exigences et considérations requises pour les sous-réseaux, Voir les exigences relatives aux groupes de sécurité Amazon EKS pour les clusters et Informations sur les adresses IPv6 pour les clusters, pods et services. Si vous choisissez la familleIPv6, vous ne pouvez pas spécifier une plage d’adresses à partir de laquelle Kubernetes doit attribuer les adresses de serviceIPv6, comme c’est possible avec la familleIPv4. Kubernetes attribue les adresses de service à partir de la plage d’adresses locales uniques (fc00::/7). -
(Facultatif) Choisissez Configurer la plage d'adresses IP du service Kubernetes et spécifiez une gamme de services
IPv4.La spécification de votre propre plage peut aider à prévenir les conflits entre les services Kubernetes et d’autres réseaux appairés ou connectés à votre VPC. Entrez une plage en notation CIDR. Par exemple :
10.2.0.0/16.Le bloc d'adresse CIDR doit répondre aux critères suivants :
-
Être situé dans l'une des plages suivantes :
10.0.0.0/8,172.16.0.0/12, ou192.168.0.0/16. -
Avoir une taille minimale de
/24et une taille maximale de/12. -
Ne pas chevaucher la plage du VPC pour vos ressources Amazon EKS.
-
Vous ne pouvez spécifier cette option que lorsque vous utilisez la famille d'adresses
IPv4et uniquement lors de la création du cluster. Si vous ne spécifiez pas cela, alors Kubernetes attribue des adresses IP de service à partir des blocs CIDR10.100.0.0/16ou172.20.0.0/16.-
Pour Accès au point de terminaison de cluster, sélectionnez une option. Une fois votre cluster créé, vous pouvez modifier cette option. Avant de sélectionner une option autre que par défaut, assurez-vous de vous familiariser avec les options et leurs implications. Pour de plus amples informations, consultez Point de terminaison du serveur d’API du cluster.
Lorsque vous avez terminé d'utiliser cette page, choisissez Suivant.
-
-
(Facultatif) Sur la page Configurer l'observabilité, choisissez quelles options de Métriques et de Journalisation du plan de contrôle doivent être activées. Par défaut, chaque type de journal est désactivé.
-
Pour plus d’informations sur l’option de métriques Prometheus, consultez Étape 1 : activer les métriques Prometheus.
-
Pour plus d'informations sur les options de Journalisation du plan de contrôle, consultez Envoyer les journaux du plan de contrôle à CloudWatch Logs.
Lorsque vous avez terminé d'utiliser cette page, choisissez Suivant.
-
-
Sur la page Select add-ons (Sélectionner les modules complémentaires), choisissez les modules complémentaires que vous souhaitez ajouter à votre cluster. Certains modules complémentaires sont présélectionnés. Vous pouvez choisir autant de modules complémentaires Amazon EKS et AWS Marketplace que vous le souhaitez. Si les modules complémentaires AWS Marketplace que vous souhaitez installer ne figurent pas dans la liste, vous pouvez utiliser la pagination pour afficher les pages suivantes, ou rechercher des modules complémentaires AWS Marketplace disponibles en saisissant du texte dans la zone de recherche. Vous pouvez également filtrer les résultats par catégorie, fournisseur ou modèle de tarification, puis sélectionner les modules complémentaires affichés dans les résultats de recherche. Lorsque vous créez un cluster, vous pouvez afficher, sélectionner et installer tout module complémentaire compatible avec les identités de pod EKS, comme indiqué dans Découvrir comment l’identité du pod Amazon EKS accorde aux pods l’accès aux services AWS.
Lorsque vous avez terminé d'utiliser cette page, choisissez Suivant.
Certains modules complémentaires, tels qu’Amazon VPC, CoreDNS et kube-proxy, sont installés par défaut. Si vous désactivez l’un des modules complémentaires par défaut, cela peut affecter votre capacité à exécuter des applications Kubernetes.
-
Sur la page Configurer les paramètres de modules complémentaires sélectionnés, sélectionnez la version que vous voulez installer. Vous pourrez toujours effectuer une mise à jour vers une version ultérieure après la création du cluster.
Pour les modules complémentaires qui prennent en charge les identités de pod EKS, vous pouvez utiliser la console pour générer automatiquement le rôle, avec le nom, la politique gérée par AWS et la politique d’approbation préremplis spécifiquement pour ce module complémentaire. Vous pouvez réutiliser des rôles existants ou créer de nouveaux rôles pour les modules complémentaires pris en charge. Pour les étapes permettant d’utiliser la console afin de créer des rôles pour les modules complémentaires qui prennent en charge les identités de pod EKS, consultez Créer un module complémentaire (Console AWS). Si un module complémentaire ne prend pas en charge l’identité du pod EKS, un message s’affiche avec des instructions pour utiliser l’assistant afin de créer les rôles IAM pour comptes de service (IRSA) après la création du cluster.
Vous pourrez mettre à jour la configuration de chaque module complémentaire après la création du cluster. Pour plus d'informations sur la configuration des modules complémentaires, consultez Mettre à jour un module complémentaire Amazon EKS. Lorsque vous avez terminé d'utiliser cette page, choisissez Suivant.
-
Sur la page Vérifier et créer, passez en revue les informations que vous avez saisies ou sélectionnées sur les pages précédentes. Si vous devez apporter des modifications, choisissez Modifier. Lorsque vous êtes satisfait, choisissez Créer. Le champ État affiche EN COURS DE CRÉATION pendant que le cluster est provisionné.
Note
Il est possible que vous receviez un message d’erreur indiquant que l’une des zones de disponibilité de votre demande ne dispose pas d’une capacité suffisante pour créer un cluster Amazon EKS. 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, consultez Capacité insuffisante.
L'approvisionnement de cluster dure plusieurs minutes.
-
Poursuivez avec Étape 3 : mettre à jour kubeconfig
Créer un cluster - CLI AWS
-
Créez votre cluster à l'aide de la commande suivante. Avant d'exécuter la commande, effectuez les remplacements suivants :
-
Remplacez
region-codepar la région AWS dans laquelle vous souhaitez créer votre cluster. -
Remplacez
my-clusterpar le nom de votre cluster. Le nom ne peut contenir que des caractères alphanumériques (sensibles à la casse), des tirets et des traits de soulignement. Il doit commencer par un caractère alphanumérique et ne peut pas dépasser 100 caractères. Le nom doit être unique dans la région AWS et le compte AWS dans lesquels vous créez le cluster. -
Remplacez
1.33par n’importe quelle version prise en charge d’Amazon EKS. -
Remplacez
111122223333par l’ID de votre compte etmyAmazonEKSClusterRolepar le nom de votre rôle IAM de cluster. -
Remplacez les valeurs de
subnetIdspar vos propres valeurs. Vous pouvez également ajouter d'autres identifiants. Vous devez spécifier au moins deux ID de sous-réseau.Les sous-réseaux que vous choisissez doivent respecter les exigences relatives aux sous-réseaux d'Amazon EKS. Avant de sélectionner les sous-réseaux, assurez-vous de bien comprendre toutes les exigences et considérations relatives aux VPC et sous-réseaux Amazon EKS.
-
Si vous ne voulez pas spécifier un ID de groupe de sécurité, supprimez
,securityGroupIds=sg-<ExampleID1>depuis la commande. Si vous souhaitez spécifier un ou plusieurs ID de groupe de sécurité, remplacez les valeurs desecurityGroupIdspar vos propres valeurs. Vous pouvez également ajouter d'autres identifiants.Que vous choisissiez ou non un groupe de sécurité, Amazon EKS crée un groupe de sécurité qui permet la communication entre votre cluster et votre VPC. Amazon EKS associe ce groupe de sécurité, et tout ce que vous choisissez, aux interfaces réseau qu'il crée. Pour plus d'informations sur le groupe de sécurité de cluster créé par Amazon EKS, consultez Voir les exigences relatives aux groupes de sécurité Amazon EKS pour les clusters. Vous pouvez modifier les règles dans le groupe de sécurité de cluster créé par Amazon EKS.
aws eks create-cluster --region region-code --name my-cluster --kubernetes-version 1.33 \ --role-arn arn:aws:iam::111122223333:role/myAmazonEKSClusterRole \ --resources-vpc-config subnetIds=subnet-ExampleID1,subnet-ExampleID2,securityGroupIds=sg-ExampleID1Note
Il est possible que vous receviez un message d’erreur indiquant que l’une des zones de disponibilité de votre demande ne dispose pas d’une capacité suffisante pour créer un cluster Amazon EKS. 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, consultez Capacité insuffisante.
Les paramètres suivants sont des paramètres facultatifs qui, si nécessaire, doivent être ajoutés à la commande précédente. Vous pouvez activer ces options uniquement lorsque vous créez le cluster, et non après.
-
Par défaut, EKS installe plusieurs modules complémentaires réseau lors de la création du cluster. Cela inclut le plug-in Amazon VPC CNI, CoreDNS et kube-proxy.
Si vous souhaitez désactiver l’installation de ces modules complémentaires réseau par défaut, utilisez le paramètre ci-dessous. Cela peut être utilisé pour d’autres CNI, tels que Cilium. Pour plus d’informations, consultez la Référence de l’API EKS.
aws eks create-cluster --bootstrapSelfManagedAddons false -
Si vous souhaitez spécifier à partir de quel bloc de routage inter-domaines sans classe (CIDR)
IPv4Kubernetes attribue des adresses IP de service, vous devez le spécifier en ajoutant le--kubernetes-network-config serviceIpv4Cidr=<cidr-block>à la commande suivante.La spécification de votre propre plage peut aider à prévenir les conflits entre les services Kubernetes et d’autres réseaux appairés ou connectés à votre VPC. Entrez une plage en notation CIDR. Par exemple :
10.2.0.0/16.Le bloc d'adresse CIDR doit répondre aux critères suivants :
-
Être situé dans l'une des plages suivantes :
10.0.0.0/8,172.16.0.0/12, ou192.168.0.0/16. -
Avoir une taille minimale de
/24et une taille maximale de/12. -
Ne pas chevaucher la plage du VPC pour vos ressources Amazon EKS.
-
Vous ne pouvez spécifier cette option que lorsque vous utilisez la famille d'adresses
IPv4et uniquement lors de la création du cluster. Si vous ne spécifiez pas cela, alors Kubernetes attribue des adresses IP de service à partir des blocs CIDR10.100.0.0/16ou172.20.0.0/16.-
Si vous créez un cluster et que vous souhaitez qu’il attribue des adresses
IPv6aux pods et aux services au lieu d’adressesIPv4, ajoutez--kubernetes-network-config ipFamily=ipv6à la commande suivante.Kubernetes attribue par défaut des adresses
IPv4aux pods et aux services. Avant de décider d’utiliser la familleIPv6, assurez-vous de bien connaître toutes les considérations et exigences mentionnées dans les rubriques Exigences et considérations relatives au VPC, Exigences et considérations requises pour les sous-réseaux, Voir les exigences relatives aux groupes de sécurité Amazon EKS pour les clusters et Informations sur les adresses IPv6 pour les clusters, pods et services. Si vous choisissez la familleIPv6, vous ne pouvez pas spécifier une plage d’adresses à partir de laquelle Kubernetes doit attribuer les adresses de serviceIPv6, comme c’est possible avec la familleIPv4. Kubernetes attribue les adresses de service à partir de la plage d’adresses locales uniques (fc00::/7).
-
-
Le provisionnement du cluster prend quelques minutes. Vous pouvez vérifier le statut de votre cluster avec la commande suivante.
aws eks describe-cluster --region region-code --name my-cluster --query "cluster.status"Ne passez pas à l’étape suivante tant que le résultat renvoyé n’est pas
ACTIVE. -
Poursuivez avec Étape 3 : mettre à jour kubeconfig
Étape 3 : mettre à jour kubeconfig
-
Si vous avez créé votre cluster à l'aide de
eksctl, vous pouvez ignorer cette étape. Cela est dû au fait queeksctla déjà terminé cette étape pour vous. Activezkubectlpour communiquer avec votre cluster en ajoutant un nouveau contexte au fichierkubectlconfig. Pour plus d'informations sur la création et la mise à jour du fichier, consultez Connexion de kubectl à un cluster EKS en créant un fichier kubeconfig.aws eks update-kubeconfig --region region-code --name my-clusterL'exemple qui suit illustre un résultat.
Added new context arn:aws:eks:region-code:111122223333:cluster/my-cluster to /home/username/.kube/config -
Confirmez la communication avec votre cluster en exécutant la commande suivante.
kubectl get svcL'exemple qui suit illustre un résultat.
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes ClusterIP 10.100.0.1 <none> 443/TCP 28h
Étape 4 : configuration du cluster
-
(Recommandé) Pour utiliser certains modules complémentaires Amazon EKS ou pour permettre aux applications Kubernetes de disposer d’autorisations AWS Identity and Access Management (IAM) spécifiques, créez un fournisseur OpenID Connect (OIDC) pour votre cluster. Vous n'avez besoin de créer un fournisseur OIDC IAM pour votre cluster qu'une seule fois. Pour en savoir plus sur les modules complémentaires Amazon EKS, consultez Modules complémentaires Amazon EKS. Pour en savoir plus sur l'attribution des autorisations IAM spécifiques à vos applications, consultez Rôles IAM pour les comptes de service.
-
(Recommandé) Configurez votre cluster pour le plug-in Amazon VPC CNI avant de déployer des nœuds Amazon EC2 sur votre cluster. Par défaut, le plugin a été installé avec votre cluster. Lorsque vous ajoutez des nœuds Amazon EC2 à votre cluster, le plugin est automatiquement déployé sur chaque nœud Amazon EC2 que vous ajoutez. Ce plug-in nécessite l’ajout de l’une des politiques IAM suivantes à un rôle IAM. Si votre cluster utilise la famille
IPv4, utilisez la politique IAM gérée AmazonEKS_CNI_Policy. Si votre cluster utilise la familleIPv6, utilisez une politique IAM que vous créez.Le rôle IAM auquel vous attachez la politique peut être le rôle IAM du nœud ou un rôle dédié utilisé uniquement pour le plugin. Nous vous recommandons d'associer la politique à ce rôle. Pour plus d’informations sur la création du rôle, consultez Configuration du plug-in Amazon VPC CNI pour utiliser IRSA ou Rôle IAM du nœud Amazon EKS.
-
Si vous avez déployé votre cluster à l'aide de la AWS Management Console, vous pouvez ignorer cette étape. La AWS Management Console déploie par défaut le plug-in Amazon VPC CNI pour Kubernetes, CoreDNS et les modules complémentaires
kube-proxyAmazon EKS.Si vous déployez votre cluster à l’aide d’
eksctlou de l’interface CLI AWS, alors le plug-in Amazon VPC CNI pour Kubernetes, CoreDNS et les modules complémentaires autogéréskube-proxysont déployés. Vous pouvez migrer le plug-in Amazon VPC CNI pour Kubernetes, CoreDNS, et les modules complémentaires autogéréskube-proxydéployés avec votre cluster vers des modules complémentaires Amazon EKS. Pour de plus amples informations, consultez Modules complémentaires Amazon EKS. -
(Facultatif) Si ce n’est pas déjà fait, vous pouvez activer les métriques Prometheus pour votre cluster. Pour plus d'informations, consultez Création d'un scraper dans le Guide de l'utilisateur Amazon Managed Service for Prometheus.
-
Si vous prévoyez de déployer des charges de travail utilisant des volumes Amazon EBS, vous devez installer le module complémentaire Amazon EBS CSI dans votre cluster avant de déployer ces charges de travail.
Étapes suivantes
-
Le principal IAM qui a créé le cluster est le seul principal à avoir accès au cluster. Accordez des autorisations à d’autres principaux IAM afin qu’ils puissent accéder à votre cluster.
-
Si le principal IAM qui a créé le cluster ne dispose que des autorisations IAM minimales référencées dans les prérequis, vous pouvez alors ajouter des autorisations Amazon EKS supplémentaires pour ce principal. Pour plus d'informations sur l'octroi d'autorisations Amazon EKS aux principaux IAM, consultez la rubrique Gestion des identités et des accès pour Amazon EKS.
-
Si vous souhaitez que le principal IAM qui a créé le cluster, ou tout autre principal, puisse visualiser les ressources Kubernetes dans la console Amazon EKS, accordez les autorisations requises à ces entités.
-
Si vous souhaitez que les nœuds et les principaux IAM accèdent à votre cluster depuis votre VPC, activez le point de terminaison privé pour votre cluster. Le point de terminaison public est activé par défaut. Vous pouvez désactiver le point de terminaison public après avoir activé le point de terminaison privé, si vous le souhaitez. Pour de plus amples informations, consultez Point de terminaison du serveur d’API du cluster.