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

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 apparaissent avec le statut Not Ready (Non prêt) dans la console Amazon EKS et dans les outils compatibles avec Kubernetes, 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.

Prérequis

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

Étape 1 : installer l’interface CLI des nœuds hybrides (nodeadm) sur chaque hôte sur site

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 Référence des nœuds hybrides nodeadm.

La version hybride des nœuds de nodeadm est hébergée dans Amazon S3, avec Amazon CloudFront comme interface. 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 containerd, kubelet, kubectl et les composants AWS SSM ou Rôles Anywhere IAM AWS. Pour plus d’informations sur les composants et les emplacements des fichiers installés par nodeadm install, consultez Référence des nœuds hybrides 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 par un utilisateur disposant d’un accès sudo/root sur votre hôte.

Important

Les nœuds hybrides CLI (nodeadm) doivent être exécutés avec un utilisateur disposant d’un accès sudo/root sur 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 Rôles Anywhere IAM AWS.

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 le plan de contrôle Amazon EKS et les nœuds hybrides. 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

Les nœuds hybrides CLI (nodeadm) doivent être exécutés avec un utilisateur disposant d’un accès sudo/root sur 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 Référence des nœuds hybrides 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’exemple nodeConfig.yaml ci-dessous si vous utilisez des activations hybrides SSM AWS pour votre fournisseur d’informations d’identification sur site.

      1. Remplacez CLUSTER_NAME par le nom de votre cluster.

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

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

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

        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’exemple nodeConfig.yaml ci-dessous si vous utilisez Rôles Anywhere IAM AWS pour votre fournisseur d’informations d’identification sur site.

      1. Remplacez CLUSTER_NAME par le nom de votre cluster.

      2. Remplacez AWS_REGION par la région AWS 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.