View a markdown version of this page

Déployez un cluster local Amazon EKS sur AWS Outposts configurés avec le magasin d'instances EC2 - 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.

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

Conditions préalables

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 :

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

  1. Ouvrez la console Amazon EKS.

  2. Choisissez Créer un cluster.

  3. Pour l'emplacement du plan de contrôle Kubernetes, choisissez Outposts. AWS

  4. 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 pouretcd.

    • Niveau de propagation, host ou rack pour le plan de contrôle et etcd le placement.

  5. Configurer le réseau : VPC, sous-réseaux, groupes de sécurité. Activez l'accès privé aux terminaux.

  6. Configuration de l'observabilité : journalisation du plan de contrôle.

  7. 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 cluster-name dans la description de chaque interface réseau.

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.

  1. 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
  2. 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_LINUX

    Sinon, si vous utilisez le aws-auth ConfigMap 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.

  3. 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.