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

Déployez un cluster Amazon EKS sur AWS Outposts

Mode de mise au point
Déployez un cluster Amazon EKS sur AWS Outposts - 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.

Cette rubrique fournit une vue d'ensemble des éléments à prendre en compte lors de l'exécution d'un cluster local sur un Outpost. Elle donne également des instructions pour déployer un cluster local sur un Outpost.

Important
  • Ces considérations ne sont pas reproduites dans la documentation Amazon EKS associée. Si d'autres rubriques de la documentation Amazon EKS entrent en conflit avec les considérations présentées ici, suivez ces dernières.

  • Ces considérations sont sujettes à modification et peuvent changer fréquemment. Nous vous recommandons donc de consulter régulièrement cette rubrique.

  • De nombreuses considérations sont différentes de celles relatives à la création d'un cluster sur le AWS cloud.

  • 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 fonctionner sur plusieurs Outposts logiques. Chaque Outpost logique possède un seul ARN d'Outpost.

  • Les clusters locaux exécutent et gèrent le plan de contrôle Kubernetes dans votre compte sur l'Outpost. Vous ne pouvez pas exécuter de charges de travail sur les instances du plan de contrôle Kubernetes ni modifier les composants du plan de contrôle Kubernetes. Ces nœuds sont gérés par le service Amazon EKS. Les modifications apportées au plan de contrôle Kubernetes ne sont pas conservées par le biais d'actions de gestion automatiques d'Amazon EKS, telles que l'application de correctifs.

  • Les clusters locaux prennent en charge les modules complémentaires autogérés et les groupes de nœuds Amazon Linux autogérés. Le plug-in Amazon VPC CNI pour Kubernetes, kube-proxy et CoreDNS est automatiquement installé sur les clusters locaux.

  • Les clusters locaux nécessitent l'utilisation d'Amazon EBS sur les Outposts. Amazon EBS doit être disponible dans votre Outpost pour le stockage du plan de contrôle Kubernetes.

  • Les clusters locaux utilisent Amazon EBS sur les Outposts. Amazon EBS doit être disponible dans votre Outpost pour le stockage du plan de contrôle Kubernetes. Les Outposts prennent en charge les volumes gp2 Amazon EBS uniquement.

  • Les Kubernetes basés sur Amazon EBS PersistentVolumes sont pris en charge à l'aide du pilote Amazon EBS CSI.

  • Les instances du plan de contrôle des clusters locaux sont configurées selon une topologie empilée à haute disponibilité. Deux des trois instances du plan de contrôle doivent être saines à tout moment pour maintenir le quorum. Si le quorum est perdu, contactez le AWS support, car certaines actions côté service seront nécessaires pour activer les nouvelles instances gérées.

Prérequis

Lorsqu'un cluster Amazon EKS local est créé, le principal IAM qui crée le cluster est ajouté de manière permanente. Le principal est spécifiquement ajouté à la table d'autorisation Kubernetes RBAC en tant qu'administrateur. Cette entité possède des autorisations system:masters. L'identité de cette entité n'est pas visible dans la configuration de votre cluster. Il est donc important de noter l'entité qui a créé le cluster et de ne jamais le supprimer. Au départ, seul le principal qui a créé le serveur peut appeler le serveur d'API Kubernetes à l'aide de. kubectl Si vous utilisez la console pour créer le cluster, assurez-vous que les mêmes informations d'identification IAM figurent dans la chaîne d'identification du AWS SDK lorsque vous exécutez des kubectl commandes sur votre cluster. Une fois votre cluster créé, vous pouvez accorder à d'autres principaux IAM l'accès à votre cluster.

Création d'un cluster local Amazon EKS

Vous pouvez créer un cluster local à l'aide des outils suivants décrits dans cette page :

Vous pouvez également utiliser la AWS CLI, l'API Amazon EKS AWS SDKs, AWS CloudFormationou Terraform pour créer des clusters sur Outposts.

eksctl

Pour créer un cluster local avec eksctl

  1. Installez la version 0.204.0 ou une version ultérieure de l'outil de ligne de eksctl commande sur votre appareil ou AWS CloudShell. Pour installer ou mettre à jour eksctl, veuillez consulter Installation dans la documentation de eksctl.

  2. Copiez les contenus suivants sur votre appareil. Remplacez les valeurs suivantes, puis exécutez la commande modifiée pour créer le fichier outpost-control-plane.yaml :

    • region-codeRemplacez-le par la AWS région prise en charge dans laquelle vous souhaitez créer votre cluster.

    • Remplacez my-cluster par un nom pour 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 doit pas dépasser 100 caractères. Le nom doit être unique dans la AWS région et le AWS compte dans lesquels vous créez le cluster. Le nom doit être unique dans la AWS région et le AWS compte dans lesquels vous créez le cluster.

    • Remplacez vpc-ExampleID1 et subnet-ExampleID1 par le IDs VPC et le sous-réseau existants. Le VPC et le sous-réseau doivent répondre aux exigences de la section Créer un VPC et des sous-réseaux pour les clusters Amazon EKS sur les Outposts. AWS

    • Remplacez uniqueid par l'identifiant de votre avant-poste.

    • Remplacez m5.large par un type d'instance disponible sur votre Outpost. Avant de choisir un type d'instance, consultez Sélectionnez les types d'instances et les groupes de placement pour les clusters Amazon EKS sur AWS Outposts en fonction de considérations de capacité. Trois instances du plan de contrôle sont déployées. Vous ne pouvez pas modifier ce numéro.

      cat >outpost-control-plane.yaml <<EOF apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: my-cluster region: region-code version: "1.24" vpc: clusterEndpoints: privateAccess: true id: "vpc-vpc-ExampleID1" subnets: private: outpost-subnet-1: id: "subnet-subnet-ExampleID1" outpost: controlPlaneOutpostARN: arn:aws: outposts:region-code:111122223333:outpost/op-uniqueid controlPlaneInstanceType: m5.large EOF

      Pour une liste complète de toutes les options et valeurs par défaut disponibles, consultez AWS Outposts Support et schéma de fichier Config eksctl dans la documentation.

  3. Créez le cluster à l'aide du fichier de configuration créé à l'étape précédente. eksctl crée un VPC et un sous-réseau sur votre Outpost pour y déployer le cluster.

    eksctl create cluster -f outpost-control-plane.yaml

    L'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
    Astuce

    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 configuration et du schéma du fichier de configuration dans la documentation eksctl. Vous pouvez trouver des exemples de fichiers de configuration sur GitHub.

    La eksctl commande a automatiquement créé une entrée d'accès pour le principal IAM (utilisateur ou rôle) qui a créé le cluster et lui a accordé des autorisations d'administrateur principal sur les objets Kubernetes du cluster. Si vous ne souhaitez pas que le créateur du cluster dispose d'un accès administrateur aux objets Kubernetes du cluster, ajoutez le texte suivant au fichier de configuration précédent : bootstrapClusterCreatorAdminPermissions: false (au même niveau que metadatavpc, et). outpost Si vous avez ajouté cette option, après la création du cluster, vous devez créer une entrée d'accès pour au moins un principal IAM, sinon aucun principal IAM n'aura accès aux objets Kubernetes du cluster.

AWS Management Console

Pour créer votre cluster avec le AWS Management Console

  1. Vous avez besoin d'un VPC et d'un sous-réseau existants répondant aux exigences d'Amazon EKS. Pour de plus amples informations, veuillez consulter Création d'un VPC et de sous-réseaux pour les clusters Amazon EKS sur Outposts AWS.

  2. Si vous possédez déjà un rôle IAM de cluster local, ou si vous comptez créer votre cluster aveceksctl, vous pouvez ignorer cette étape. Par défaut, eksctl crée un rôle pour vous.

    1. Exécutez la commande suivante pour créer un fichier JSON de politique d'approbation IAM.

      cat >eks-local-cluster-role-trust-policy.json <<EOF { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" }, "Action": "sts:AssumeRole" } ] } EOF
    2. Créez le rôle IAM de cluster Amazon EKS. Pour créer un rôle IAM, le principal IAM qui crée le rôle doit se voir attribuer l'action (autorisation) IAM iam:CreateRole.

      aws iam create-role --role-name myAmazonEKSLocalClusterRole --assume-role-policy-document file://"eks-local-cluster-role-trust-policy.json"
    3. Associez la politique gérée Amazon EKS nommée Amazon EKSLocal OutpostClusterPolicy 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:AttachUserPolicy ou iam:AttachRolePolicy.

      aws iam attach-role-policy --policy-arn arn:aws: iam::aws:policy/AmazonEKSLocalOutpostClusterPolicy --role-name myAmazonEKSLocalClusterRole
  3. Ouvrez la console Amazon EKS.

  4. En haut de l'écran de la console, assurez-vous d'avoir sélectionné une AWS région prise en charge.

  5. Choisissez Add cluster (Ajouter un cluster), puis choisissez Create (Créer).

  6. Sur la page Configurer le cluster, saisissez ou sélectionnez les valeurs des champs suivants :

    • Emplacement du plan de contrôle Kubernetes — Choisissez Outposts. AWS

    • ID Outpost (ID d'Outpost) – Choisissez l'ID de l'Outpost sur lequel vous souhaitez créer votre plan de contrôle.

    • Instance type (Type d'instance) – Sélectionnez un type d'instance. Seuls les types d'instances disponibles dans votre Outpost sont affichés. Dans la liste déroulante, chaque type d'instance indique le nombre de nœuds pour lesquels le type d'instance est recommandé. Avant de choisir un type d'instance, consultez Sélectionnez les types d'instances et les groupes de placement pour les clusters Amazon EKS sur AWS Outposts en fonction de considérations de capacité. Tous les réplicas sont déployés à l'aide du même type d'instance. Vous ne pouvez pas modifier le type d'instance une fois votre cluster créé. Trois instances du plan de contrôle sont déployées. Vous ne pouvez pas modifier ce numéro.

    • Nom : nom de votre cluster. Il doit être unique dans votre AWS compte. 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 la AWS région et le AWS compte dans lesquels vous créez le cluster. Le nom doit être unique dans la AWS région et le AWS compte dans lesquels vous créez le cluster.

    • Version Kubernetes — Choisissez la version de Kubernetes que vous souhaitez utiliser pour votre cluster. Nous vous recommandons de sélectionner la dernière version, sauf si vous devez utiliser une version antérieure.

    • Rôle de service de cluster : choisissez le rôle IAM du cluster Amazon EKS que vous avez créé à l'étape précédente pour permettre au plan de contrôle Kubernetes de gérer les ressources. AWS

    • Accès administrateur au cluster Kubernetes : si vous souhaitez que le principal IAM (rôle ou utilisateur) qui crée le cluster dispose d'un accès administrateur aux objets Kubernetes du cluster, acceptez la valeur par défaut (autoriser). Amazon EKS crée une entrée d'accès pour le principal IAM et accorde des autorisations d'administrateur du cluster à cette entrée d'accès. Pour plus d'informations sur les entrées d'accès, consultez Accorder aux utilisateurs IAM l'accès à Kubernetes avec des entrées d'accès EKS.

      Si vous souhaitez qu'un principal IAM différent de celui qui crée le cluster dispose d'un accès administrateur aux objets du cluster Kubernetes, choisissez l'option Interdire. Après la création du cluster, tout principal IAM disposant des autorisations IAM pour créer des entrées d'accès peut ajouter des entrées d'accès pour tous les principaux IAM ayant besoin d'accéder aux objets du cluster Kubernetes. Pour plus d'informations sur les autorisations IAM requises, consultez la rubrique Actions définies par Amazon Elastic Kubernetes Service dans la Référence des autorisations de service. Si vous choisissez l'option d'interdiction et que vous ne créez aucune entrée d'accès, aucun utilisateur principal IAM n'aura accès aux objets Kubernetes du cluster.

    • Identifications∘: (facultatif) ajoutez des identifications à votre cluster. Pour de plus amples informations, veuillez consulter Organisez les ressources Amazon EKS à l'aide de balises. Lorsque vous avez terminé d'utiliser cette page, choisissez Suivant.

  7. Sur la page Spécifier les réseaux sélectionnez des valeurs pour les champs suivants :

    • VPC – Choisissez un VPC existant. Le VPC doit disposer d'un nombre suffisant d'adresses IP disponibles pour le cluster, pour tous les nœuds et pour les autres ressources Kubernetes que vous souhaitez créer. Votre VPC doit répondre aux exigences et considérations relatives aux VPC.

    • 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. Les sous-réseaux que vous choisissez doivent répondre aux exigences de la section Exigences et considérations relatives aux sous-réseaux.

    • 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. Amazon EKS crée automatiquement 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 Afficher 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 choisissez d'ajouter vos propres groupes de sécurité, vous ne pouvez pas modifier ceux que vous choisissez après la création du cluster. Pour que les hôtes sur site puissent communiquer avec le point de terminaison du cluster, vous devez autoriser le trafic entrant provenant du groupe de sécurité du cluster. Pour les clusters qui ne disposent pas de connexion Internet d'entrée et de sortie (également appelés clusters privés), vous devez effectuer l'une des opérations suivantes :

      • Ajoutez le groupe de sécurité associé aux points de terminaison d'un VPC requis. Pour plus d'informations sur les points de terminaison requis, voir Utilisation des points de terminaison de VPC d'interface la section Accès aux AWS services par sous-réseau.

      • Modifiez le groupe de sécurité qu'Amazon EKS a créé pour autoriser le trafic provenant du groupe de sécurité associé aux points de terminaison d'un VPC. Lorsque vous avez terminé d'utiliser cette page, choisissez Suivant.

  8. Sur la page Configurer l'observabilité, vous pouvez éventuellement choisir les options de Métriques et de Journalisation du plan de contrôle que vous voulez activer. Par défaut, chaque type de journal est désactivé.

  9. 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 Create. Le champ État affiche EN COURS DE CRÉATION pendant que le cluster est provisionné.

    L'approvisionnement de cluster dure plusieurs minutes.

Afficher votre cluster local Amazon EKS

  1. Une fois votre cluster créé, vous pouvez consulter les instances du plan EC2 de contrôle Amazon qui ont été créées.

    aws ec2 describe-instances --query 'Reservations[*].Instances[*].{Name:Tags[?Key==`Name`]|[0].Value}' | grep my-cluster-control-plane

    L'exemple qui suit illustre un résultat.

    "Name": "my-cluster-control-plane-id1" "Name": "my-cluster-control-plane-id2" "Name": "my-cluster-control-plane-id3"

    Chaque instance est rejetée avec node-role.eks-local.amazonaws.com/control-plane pour qu'aucune charge de travail ne soit planifiée sur les instances du plan de contrôle. Pour plus d'informations sur les taches, consultez Taints and Tolerations dans la documentation de Kubernetes. Amazon EKS surveille en permanence l'état des clusters locaux. Nous effectuons des actions de gestion automatiques, telles que des correctifs de sécurité et la réparation des instances défectueuses. Lorsque des clusters locaux sont déconnectés du cloud, nous prenons des mesures pour nous assurer que le cluster retrouve un état sain lors de la reconnexion.

  2. Si vous avez créé votre cluster à l'aide de eksctl, vous pouvez sauter cette étape. eksctl complète cette étape pour vous. Activez kubectl pour communiquer avec votre cluster en ajoutant un nouveau contexte au fichier kubectl config. Pour savoir comment créer et mettre à jour le fichier, consultez Connect kubectl à un cluster EKS en créant un fichier kubeconfig.

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

    L'exemple qui suit illustre un résultat.

    Added new context arn:aws: eks:region-code:111122223333:cluster/my-cluster to /home/username/.kube/config
  3. Pour vous connecter au serveur d'API Kubernetes de votre cluster local, accédez à la passerelle locale du sous-réseau ou connectez-vous depuis le VPC. Pour plus d'informations sur la connexion d'un rack Outpost à votre réseau local, consultez Comment fonctionnent les passerelles locales pour les racks dans le Guide de l'utilisateur d' AWS Outposts. Si vous utilisez le routage VPC direct et que le sous-réseau Outpost dispose d'une route vers votre passerelle locale, les adresses IP privées des instances du plan de contrôle Kubernetes sont automatiquement diffusées sur votre réseau local. Le point de terminaison du serveur d'API Kubernetes du cluster local est hébergé sur Amazon Route 53 (Route 53). Le point de terminaison du service d'API peut être résolu par des serveurs DNS publics vers les adresses IP privées des serveurs d'API Kubernetes.

    Les instances du plan de contrôle Kubernetes des clusters locaux sont configurées avec des interfaces réseau élastiques statiques avec des adresses IP privées fixes qui ne changent pas tout au long du cycle de vie du cluster. Les machines qui interagissent avec le serveur d'API Kubernetes peuvent ne pas être connectées à Route 53 lors des déconnexions réseau. Si tel est le cas, nous recommandons de configurer /etc/hosts avec les adresses IP privées statiques pour la poursuite des opérations. Nous vous recommandons également de configurer des serveurs DNS locaux et de les connecter à votre Outpost. Pour plus d'informations, consultez la documentation AWS des Outposts. Exécutez la commande suivante pour confirmer que la communication est établie avec votre cluster.

    kubectl get svc

    L'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
  4. (Facultatif) Testez l'authentification auprès de votre cluster local lorsqu'il est déconnecté du AWS cloud. Pour obtenir des instructions, consultez Préparez les clusters Amazon EKS locaux sur les AWS Outposts pour les déconnexions réseau.

Ressources internes

Amazon EKS crée les ressources suivantes sur votre cluster. Les ressources sont destinées à un usage interne d'Amazon EKS. Pour le bon fonctionnement de votre cluster, ne modifiez ni ne modifiez ces ressources.

  • Les modules miroir suivants :

    • aws-iam-authenticator-node-hostname

    • eks-certificates-controller-node-hostname

    • etcd-node-hostname

    • kube-apiserver-node-hostname

    • kube-controller-manager-node-hostname

    • kube-scheduler-node-hostname

  • Les modules complémentaires autogérés suivants :

    • kube-system/coredns

    • kube-system/kube-proxy(non créé tant que vous n'avez pas ajouté votre premier nœud)

    • kube-system/aws-node (non créé tant que vous n'avez pas ajouté votre premier nœud). Les clusters locaux utilisent le plug-in Amazon VPC CNI pour Kubernetes pour la mise en réseau des clusters. Ne modifiez pas la configuration des instances du plan de contrôle (pods nommés aws-node-controlplane-*). Il existe des variables de configuration que vous pouvez utiliser pour modifier la valeur par défaut lorsque le plugin crée de nouvelles interfaces réseau. Pour plus d'informations, consultez la documentation sur GitHub.

  • Les services suivants :

    • default/kubernetes

    • kube-system/kube-dns

  • Une politique PodSecurityPolicy nommée eks.system

  • Un rôle ClusterRole nommé eks:system:podsecuritypolicy

  • Un rôle ClusterRoleBinding nommé eks:system

  • Un PodSecurityPolicy par défaut

  • Outre le groupe de sécurité du cluster, Amazon EKS crée un groupe de sécurité nommé dans votre AWS compteeks-local-internal-do-not-use-or-edit-cluster-name-uniqueid . Ce groupe de sécurité permet au trafic de circuler librement entre les composants Kubernetes exécutés sur les instances du plan de contrôle.

Étapes suivantes recommandées :

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