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.
Déployez un cluster local Amazon EKS sur AWS Outposts configurés avec le magasin d'instances EC2
Cette rubrique fournit des instructions pour déployer un cluster Amazon EKS local sur un AWS Outpost configuré avec un magasin d'instances EC2.
Note
Si votre Outpost est configuré avec Amazon EBS au lieu du magasin d'instances EC2, l'architecture décrite dans cette rubrique n'est pas disponible pour votre Outpost. Les Outposts configurés avec EBS continueront à utiliser l'implémentation des clusters locaux existants. Pour de plus amples informations, veuillez consulter Déployez un cluster Amazon EKS sur AWS Outposts.
Si vous souhaitez créer un cluster local sur un EBS-backed Outpost à l'aide de l'architecture de clusters locaux mise à jour, contactez l'équipe chargée de votre AWS compte.
Important
-
Les clusters locaux prennent uniquement en charge les racks Outpost. Un seul cluster local peut s'exécuter sur plusieurs racks Outpost physiques qui constituent un seul Outpost logique. Un seul cluster local ne peut pas s’exécuter sur plusieurs Outposts logiques.
-
Le plan de contrôle Kubernetes s'exécute sur un compte de service AWS géré sur votre Outpost. Vous ne pouvez pas accéder aux instances du plan de contrôle, les afficher dans la console Amazon EC2 ou exécuter des charges de travail sur celles-ci.
-
Le plan de contrôle s'exécute sur 6 instances EC2 (3
etcd+3 serveurs API) dans une topologie etcd externe. Pour les exigences de capacité, voirSélectionnez les types d'instances et leur emplacement pour les clusters locaux Amazon EKS sur AWS Outposts configurés avec le magasin d'instances EC2. -
Le plug-in Amazon VPC CNI pour Kubernetes, kube-proxy et CoreDNS est automatiquement installé sur les clusters locaux. Pour la liste complète des modules complémentaires validés, consultezExtensions Amazon EKS pour les clusters locaux sur AWS Outposts configurés avec le magasin d'instances EC2.
-
Amazon EKS effectue régulièrement des sauvegardes
etcd. En casetcdde perte de quorum, Amazon EKS récupère l'état de votre cluster à partir de l'instantané le plus récent.
Conditions préalables
-
Un rack Outpost existant configuré avec un stockage d'instance EC2, avec une capacité virtualisée suffisante pour les instances du plan de contrôle. Consultez Sélectionnez les types d'instances et leur emplacement pour les clusters locaux Amazon EKS sur AWS Outposts configurés avec le magasin d'instances EC2.
-
Un VPC et des sous-réseaux répondant aux exigences décrites dans. Créez un VPC et des sous-réseaux pour les clusters locaux Amazon EKS sur AWS Outposts configurés avec le magasin d'instances EC2
-
L'outil de ligne de commande
kubectlest installé sur votre ordinateur ou AWS CloudShell. La version peut être identique à la version Kubernetes de votre cluster, ou une version mineure antérieure ou ultérieure à celle-ci. Pour installer ou mettre à niveaukubectl, veuillez consulter Configurer kubectl et eksctl. -
La version AWS CLI
2.35.3ou ultérieure installée et configurée sur votre appareil ou AWS CloudShell. Pour vérifier votre version actuelle, utilisezaws --version. Pour installer ou mettre à niveau, reportez-vous à la section Installation de la AWS CLI. -
Un principal IAM (utilisateur ou rôle) autorisé à créer et à décrire 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.
-
Un rôle IAM pour le cluster auquel sont associées les politiques AWS gérées suivantes : AmazonEKSClusterPolicyet AmazonEKSServicePolicy. La politique de confiance doit permettre au directeur du
eks.amazonaws.comservice d'assumer le rôle.
Note
Lorsque vous créez un cluster local, le principal IAM qui crée le cluster est ajouté définitivement à la table d'autorisation Kubernetes RBAC en tant qu'administrateur disposant d'autorisations. system:masters Assurez-vous de ne jamais supprimer ce principal.
Création d'un cluster local
Vous pouvez créer un cluster local à l'aide de la AWS CLI AWS Management Console, de l'API Amazon EKS ou AWS CloudFormation.
Lorsque vous créez un cluster local, tenez compte des points suivants :
-
Vous devez transmettre des sous-réseaux dans la zone de disponibilité dans laquelle se trouve l'avant-poste. La demande échoue si vous transmettez des sous-réseaux dans plusieurs zones de disponibilité.
-
Vous devez définir
endpointPrivateAccesssurtrue. Vous pouvez également l'activer en optionendpointPublicAccess. -
Vous devez transmettre des valeurs pour
outpostConfigoutpostArns, notammentcontrolPlaneInstanceType, etetcdInstanceType. Vous pouvez éventuellement définir la configuration du placement. Consultez Sélectionnez les types d'instances et leur emplacement pour les clusters locaux Amazon EKS sur AWS Outposts configurés avec le magasin d'instances EC2.
AWS INTERFACE DE LIGNE DE COMMANDE (CLI)
aws eks create-cluster \ --name my-cluster \ --role-arn arn:aws: iam::111122223333:role/myEKSClusterRole \ --kubernetes-version 1.36 \ --resources-vpc-config subnetIds=subnet-ExampleID1,endpointPrivateAccess=true,endpointPublicAccess=true \ --logging '{"clusterLogging":[{"types":["api","audit","authenticator","controllerManager","scheduler"],"enabled":true}]}' \ --access-config authenticationMode=API_AND_CONFIG_MAP,bootstrapClusterCreatorAdminPermissions=true \ --outpost-config outpostArns=arn:aws: outposts:region-code:111122223333:outpost/op-uniqueid,controlPlaneInstanceType=m5.large,controlPlanePlacement={spreadLevel=host},etcdInstanceType=m5.large,etcdPlacement={spreadLevel=host}
AWS Management Console
-
Ouvrez la console Amazon EKS
. -
Choisissez Créer un cluster.
-
Pour l'emplacement du plan de contrôle Kubernetes, choisissez Outposts. AWS
-
Configurez ce qui suit :
-
Nom : nom de votre cluster.
-
Version Kubernetes : version à utiliser.
-
Rôle de service de cluster : rôle IAM avec AmazonEKSClusterPolicyet AmazonEKSServicePolicy.
-
ID d'avant-poste : avant-poste logique vers lequel effectuer le déploiement.
-
Type d'instance du plan de contrôle : type d'instance pour le serveur d'API, le planificateur et le gestionnaire de contrôleurs Kubernetes.
-
type d'instance etcd — Type d'instance pour
etcd. -
Niveau de propagation,
hostourackpour le plan de contrôle etetcdle placement.
-
-
Configurer le réseau : VPC, sous-réseaux, groupes de sécurité. Activez l'accès privé aux terminaux.
-
Configuration de l'observabilité : journalisation du plan de contrôle.
-
Vérifiez et créez.
API CreateCluster
{ "name": "my-cluster", "roleArn": "arn:aws: iam::111122223333:role/myEKSClusterRole", "version": "1.36", "resourcesVpcConfig": { "subnetIds": ["subnet-ExampleID1"], "endpointPublicAccess": true, "endpointPrivateAccess": true }, "logging": { "clusterLogging": [{ "types": ["api", "audit", "authenticator", "controllerManager", "scheduler"], "enabled": true }] }, "accessConfig": { "authenticationMode": "API_AND_CONFIG_MAP", "bootstrapClusterCreatorAdminPermissions": true }, "outpostConfig": { "outpostArns": ["arn:aws: outposts:region-code:111122223333:outpost/op-uniqueid"], "controlPlaneInstanceType": "m5.large", "controlPlanePlacement": { "spreadLevel": "host" }, "etcdInstanceType": "m5.large", "etcdPlacement": { "spreadLevel": "host" } } }
Les etcdInstanceType paramètres controlPlaneInstanceType et sont obligatoires lorsque vous créez un cluster local sur des Outposts configurés avec le magasin d'instances EC2. Les paramètres controlPlanePlacement et etcdPlacement sont facultatifs. Si vous ne les spécifiez pas, aucune stratégie de spread de placement n'est appliquée.
Note
outpostConfigest une propriété réservée à la création. Pour modifier le type d'instance du plan de contrôle, le type d'etcdinstance, le placement ou l'avant-poste, vous devez créer un nouveau cluster.
Connectez-vous à votre cluster
Configurez kubectl pour communiquer avec votre cluster :
aws eks update-kubeconfig --region region-code --name my-cluster
Note
Si vous avez créé votre cluster à l'aide des versions de AWS CLI ci-dessous2.35.3, vous devez mettre à jour votre cluster kubeconfig pour le spécifier --cluster-name (au lieu de--cluster-id) dans les exec arguments
Le point de terminaison du serveur d'API Kubernetes du cluster est hébergé sur Amazon Route 53. Le point de terminaison utilise les adresses IP privées des interfaces réseau élastiques (ENI) inter-comptes créées par Amazon EKS dans vos sous-réseaux. Ces ENI ont des adresses IP privées fixes qui ne changent pas tout au long du cycle de vie du cluster.
Lorsque vous créez un cluster, Amazon EKS crée 3 interfaces réseau élastiques dans les sous-réseaux que vous spécifiez. Ces interfaces réseau permettent la communication entre votre cluster et votre VPC. Le texte figure Amazon EKS dans la description de chaque interface réseau.cluster-name
Déployer des nœuds de travail
Déployez des nœuds de travail sur votre cluster local à l'aide de groupes de nœuds autogérés.
-
Déployez le AWS CloudFormation modèle de nœud de travail ou créez des instances EC2 individuelles sur votre Outpost.
curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/cloudformation/2025-11-24/amazon-eks-outpost-nodegroup.yaml -
Accordez au rôle d'instance de nœud l'accès à votre cluster. Créez une entrée d'accès pour le rôle IAM du nœud :
aws eks create-access-entry \ --cluster-name my-cluster \ --principal-arn arn:aws: iam::111122223333:role/myNodeRole \ --type EC2_LINUXSinon, si vous utilisez le
aws-authConfigMap pour l'authentification, ajoutez le rôle d'instance de nœud au ConfigMap. Consultez Accorder aux utilisateurs et aux rôles IAM l'accès aux API Kubernetes. -
Vérifiez que vos nœuds sont en bon
Readyétat :kubectl get nodes
Ressources internes
Lorsque vous créez un cluster local, Amazon EKS installe automatiquement les versions autogérées des modules complémentaires suivants dans l'espace de kube-system noms : corednskube-proxy, et (aws-nodeVPC CNI). Vous pouvez éventuellement installer les versions gérées de ces modules complémentaires via l'API des modules complémentaires Amazon EKS. Pour de plus amples informations, veuillez consulter Extensions Amazon EKS pour les clusters locaux sur AWS Outposts configurés avec le magasin d'instances EC2.
Amazon EKS crée également des interfaces réseau élastiques (ENI) entre comptes dans vos sous-réseaux pour la communication cluster-VPC. Ne supprimez pas ces interfaces réseau. Si un ENI multicompte est supprimé ou si son adresse IP change, chaque nœud et chaque administrateur utilisant un IP-based accès statique doivent être mis à jour manuellement.