View a markdown version of this page

Connecter les nœuds hybrides - 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 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.

Connecter les nœuds hybrides

Note

Les étapes suivantes s’appliquent aux nœuds hybrides exécutant des systèmes d’exploitation compatibles, à l’exception de Bottlerocket. Pour connaître les étapes à suivre pour connecter un nœud hybride qui exécute Bottlerocket, consultez Connectez des nœuds hybrides avec Bottlerocket.

Cette rubrique décrit comment connecter des nœuds hybrides à un cluster Amazon EKS. Une fois que vos nœuds hybrides ont rejoint le cluster, ils apparaîtront avec le statut Non prêt dans la console Amazon EKS et dans des Kubernetes-compatible outils tels que kubectl. Une fois les étapes décrites sur cette page terminées, passez à la section Configurer CNI pour les nœuds hybrides pour préparer vos nœuds hybrides à exécuter des applications.

Conditions préalables

Avant de connecter des nœuds hybrides à votre cluster Amazon EKS, assurez-vous d’avoir suivi toutes les étapes préalables.

Version nodeadm requise pour le fournisseur d'informations d'identification SSM

Si vous utilisez AWS Systems Manager (SSM) comme fournisseur d'informations d'identification pour les nœuds hybrides, vous devez utiliser la nodeadm version 1.0.19 ou une version ultérieure pour les nouvelles installations et les mises à niveau. Les versions précédentes de nodeadm contiennent une clé de signature SSM obsolète et échouent pendant nodeadm install et nodeadm upgrade avec l'erreur de vérification de signature suivante :

"msg":"Command failed","error":"failed to install ssm installer: validating ssm-setup-cli signature: Signature Verification Error: No matching signature"

Pour résoudre cette erreur, téléchargez la dernière version de nodeadm Before Running nodeadm install ornodeadm upgrade.

Étape 1 : Installation de la CLI des nœuds hybrides (nodeadm) sur chaque hôte local

Si vous incluez l’interface CLI des nœuds hybrides Amazon EKS (nodeadm) dans vos images de système d’exploitation pré-construites, vous pouvez ignorer cette étape. Pour plus d’informations sur la version hybride des nœuds de nodeadm, consultez Nœuds hybrides (référence nodeadm).

La version à nœuds hybrides de nodeadm est hébergée dans Amazon S3, géré par Amazon CloudFront. Pour installer nodeadm sur chaque hôte sur site, vous pouvez exécuter la commande suivante à partir de vos hôtes sur site.

Pour les hôtes x86_64 :

curl -OL 'https://hybrid-assets.eks.amazonaws.com/releases/latest/bin/linux/amd64/nodeadm'

Pour les hôtes ARM

curl -OL 'https://hybrid-assets.eks.amazonaws.com/releases/latest/bin/linux/arm64/nodeadm'

Ajoutez les permissions d’exécution au fichier binaire téléchargé sur chaque hôte.

chmod +x nodeadm

Étape 2 : installer les dépendances des nœuds hybrides avec nodeadm

Si vous installez les dépendances des nœuds hybrides dans des images de système d’exploitation précompilées, vous pouvez ignorer cette étape. La commande nodeadm install peut être utilisée pour installer toutes les dépendances requises pour les nœuds hybrides. Les dépendances des nœuds hybrides incluent les composants containerd, kubelet, kubectl et AWS SSM ou IAM Roles Anywhere. AWS Pour plus d’informations sur les composants et les emplacements des fichiers installés par nodeadm install, consultez Nœuds hybrides (référence nodeadm). Pour plus d’informations sur les domaines qui doivent être autorisés dans votre pare-feu local pour le processus nodeadm install, consultez Préparer la mise en réseau pour les nœuds hybrides.

Exécutez la commande ci-dessous pour installer les dépendances des nœuds hybrides sur votre hôte local. La commande ci-dessous doit être exécutée avec un utilisateur ayant sudo/root accès à votre hôte.

Important

La CLI des nœuds hybrides (nodeadm) doit être exécutée avec un utilisateur ayant sudo/root accès à votre hôte.

  • Remplacez K8S_VERSION par la version mineure Kubernetes de votre cluster Amazon EKS, par exemple 1.31. Consultez les versions prises en charge par Amazon EKS pour obtenir la liste des versions Kubernetes prises en charge.

  • Remplacez CREDS_PROVIDER par le fournisseur d’informations d’identification local que vous utilisez. Les valeurs valides sont ssm pour AWS SSM et iam-ra pour AWS IAM Roles Anywhere.

nodeadm install K8S_VERSION --credential-provider CREDS_PROVIDER

Étape 3 : connecter les nœuds hybrides à votre cluster

Avant de connecter vos nœuds hybrides à votre cluster, assurez-vous d'avoir autorisé l'accès requis dans votre pare-feu local et dans le groupe de sécurité de votre cluster pour la communication entre les nœuds to/from hybrides du plan de contrôle Amazon EKS. La plupart des problèmes rencontrés à cette étape sont liés à la configuration du pare-feu, à la configuration du groupe de sécurité ou à la configuration du rôle IAM des nœuds hybrides.

Important

La CLI des nœuds hybrides (nodeadm) doit être exécutée avec un utilisateur ayant sudo/root accès à votre hôte.

  1. Créez un fichier nodeConfig.yaml sur chaque hôte avec les valeurs pour votre déploiement. Pour une description complète des paramètres de configuration disponibles, voir Nœuds hybrides (référence nodeadm). Si votre rôle IAM des nœuds hybrides ne dispose pas des autorisations nécessaires pour l’action eks:DescribeCluster, vous devez transmettre votre point de terminaison de l’API Kubernetes, votre offre groupée CA et votre CIDR IPv4 du service Kubernetes dans la section cluster de votre nodeConfig.yaml.

    1. Utilisez l'nodeConfig.yamlexemple ci-dessous si vous utilisez des activations hybrides AWS SSM pour votre fournisseur d'informations d'identification sur site.

      1. Remplacez CLUSTER_NAME par le nom de votre cluster.

      2. AWS_REGIONRemplacez-le par la AWS région hébergeant votre cluster. Par exemple, us-west-2.

      3. Remplacez-le ACTIVATION_CODE par le code d'activation que vous avez reçu lors de la création de votre activation hybride AWS SSM. Pour plus d’informations, consultez Préparer les informations d’identification pour les nœuds hybrides.

      4. Remplacez-le ACTIVATION_ID par l'ID d'activation que vous avez reçu lors de la création de votre activation hybride AWS SSM. Vous pouvez récupérer ces informations à partir de la console AWS Systems Manager ou de la aws ssm describe-activations commande AWS CLI.

        apiVersion: node.eks.aws/v1alpha1 kind: NodeConfig spec: cluster: name: CLUSTER_NAME region: AWS_REGION hybrid: ssm: activationCode: ACTIVATION_CODE activationId: ACTIVATION_ID
    2. Utilisez l'nodeConfig.yamlexemple ci-dessous si vous utilisez AWS IAM Roles Anywhere pour votre fournisseur d'informations d'identification sur site.

      1. Remplacez CLUSTER_NAME par le nom de votre cluster.

      2. AWS_REGIONRemplacez-le par la AWS région hébergeant votre cluster. Par exemple, us-west-2.

      3. Remplacez NODE_NAME par le nom de votre nœud. Le nom du nœud doit correspondre au nom commun (CN) du certificat sur l’hôte si vous avez configuré la stratégie de confiance de votre rôle IAM des nœuds hybrides avec la condition de ressource "sts:RoleSessionName": "${aws:PrincipalTag/x509Subject/CN}". Le nodeName que vous utilisez ne doit pas dépasser 64 caractères.

      4. Remplacez TRUST_ANCHOR_ARN par l’ARN de l’ancre d’approbation que vous avez configurée dans les étapes de la section Préparer les informations d’identification pour les nœuds hybrides.

      5. Remplacez PROFILE_ARN par l’ARN de l’ancre d’approbation que vous avez configurée dans les étapes pour Préparer les informations d’identification pour les nœuds hybrides.

      6. Remplacez ROLE_ARN par l’ARN de votre rôle IAM des nœuds hybrides.

      7. Remplacez CERTIFICATE_PATH par le chemin d’accès sur le disque vers votre certificat de nœud. Si vous ne le précisez pas, la valeur par défaut est /etc/iam/pki/server.pem.

      8. Remplacez KEY_PATH par le chemin d’accès sur le disque vers la clé privée de votre certificat. Si vous ne le précisez pas, la valeur par défaut est /etc/iam/pki/server.key.

        apiVersion: node.eks.aws/v1alpha1 kind: NodeConfig spec: cluster: name: CLUSTER_NAME region: AWS_REGION hybrid: iamRolesAnywhere: nodeName: NODE_NAME trustAnchorArn: TRUST_ANCHOR_ARN profileArn: PROFILE_ARN roleArn: ROLE_ARN certificatePath: CERTIFICATE_PATH privateKeyPath: KEY_PATH
  2. Exécutez la commande nodeadm init avec votre nodeConfig.yaml pour connecter vos nœuds hybrides à votre cluster Amazon EKS.

    nodeadm init -c file://nodeConfig.yaml

Si la commande ci-dessus s’exécute correctement, votre nœud hybride a rejoint votre cluster Amazon EKS. Vous pouvez vérifier cela dans la console Amazon EKS en accédant à l’onglet Calcul de votre cluster (assurez-vous que le principal IAM dispose des autorisations nécessaires pour afficher) ou avec kubectl get nodes.

Important

Vos nœuds auront le statut Not Ready, ce qui est normal et dû à l’absence d’un CNI fonctionnant sur vos nœuds hybrides. Si vos nœuds ne se sont pas joints au cluster, consultez Dépannage des nœuds hybrides.

Étape 4 : configurer un CNI pour les nœuds hybrides

Pour que vos nœuds hybrides soient prêts à exécuter des applications, poursuivez avec les étapes décrites à la section Configurer CNI pour les nœuds hybrides.