Connect un Kubernetes cluster externe à l'Amazon EKS Management Console - Amazon EKS

Aidez à améliorer cette page

Vous souhaitez contribuer à ce guide de l'utilisateur ? Faites défiler cette page vers le bas et sélectionnez Modifier cette page sur GitHub. Vos contributions aideront à améliorer notre guide de l'utilisateur pour tout le monde.

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.

Connect un Kubernetes cluster externe à l'Amazon EKS Management Console

Vous pouvez connecter un Kubernetes cluster externe à Amazon EKS en utilisant plusieurs méthodes dans le cadre du processus suivant. Ce processus comporte deux étapes : enregistrer le cluster auprès d'Amazon EKS et installer l'eks-connectoragent dans le cluster.

Important

Vous devez effectuer la deuxième étape dans les 3 jours suivant la fin de la première étape, avant l'expiration de l'enregistrement.

Considérations

Vous pouvez utiliser des YAML manifestes lors de l'installation de l'agent. Vous pouvez également utiliser Helm si vous enregistrez le cluster avec le AWS Management Console ou AWS Command Line Interface. Cependant, vous ne pouvez pas utiliser Helm pour installer l'agent si vous enregistrez le cluster auprès deeksctl.

Prérequis

  • Assurez-vous que le rôle d'agent Amazon EKS Connector a été créé. Suivez les étapes de Création du rôle d'agent Amazon EKS Connector.

  • Vous devez disposer des autorisations suivantes pour enregistrer un cluster :

    • eks:RegisterCluster

    • ssm:CreateActivation

    • ssm:DeleteActivation

    • iam:PassRole

Étape 1 : Enregistrement du cluster

AWS CLI
Prérequis
Pour enregistrer votre cluster auprès du AWS CLI
  • Pour la configuration du connecteur, spécifiez votre IAM rôle d'agent Amazon EKS Connector. Pour de plus amples informations, veuillez consulter IAMRôles obligatoires pour Amazon EKS Connector.

    aws eks register-cluster \ --name my-first-registered-cluster \ --connector-config roleArn=arn:aws:iam::111122223333:role/AmazonEKSConnectorAgentRole,provider="OTHER" \ --region aws-region

    L'exemple qui suit illustre un résultat.

    { "cluster": { "name": "my-first-registered-cluster", "arn": "arn:aws:eks:region:111122223333:cluster/my-first-registered-cluster", "createdAt": 1627669203.531, "ConnectorConfig": { "activationId": "xxxxxxxxACTIVATION_IDxxxxxxxx", "activationCode": "xxxxxxxxACTIVATION_CODExxxxxxxx", "activationExpiry": 1627672543.0, "provider": "OTHER", "roleArn": "arn:aws:iam::111122223333:role/AmazonEKSConnectorAgentRole" }, "status": "CREATING" } }

    Vous utilisez les valeurs aws-region, activationId et activationCode à l'étape suivante.

AWS Management Console
Pour enregistrer votre cluster Kubernetes dans la console.
  1. Ouvrez la EKS console Amazon à l'adresse https://console.aws.amazon.com/eks/home#/clusters.

  2. Sélectionnez Add cluster (Ajouter un cluster), puis Register (Enregistrer) pour afficher la page de configuration.

  3. Sur la page Configurer le cluster, renseignez les champs suivants :

    • Nom : nom unique de votre cluster.

    • Fournisseur : sélectionnez cet élément pour afficher la liste déroulante des fournisseurs de cluster Kubernetes. Si vous ne connaissez pas le fournisseur spécifique, sélectionnez Autre.

    • EKSRôle de connecteur : sélectionnez le rôle à utiliser pour connecter le cluster.

  4. Sélectionnez Register cluster (Enregistrer le cluster).

  5. La page Présentation du cluster s'affiche. Si vous souhaitez utiliser les Charts de Helm, copiez la commande helm install et passez à l'étape suivante. Si vous souhaitez utiliser le YAML manifeste, choisissez Télécharger YAML le fichier pour télécharger le fichier manifeste sur votre disque local.

    Important
    • C'est le seul moment où vous pouvez copier la commande helm install ou télécharger ce fichier. Ne naviguez pas hors de cette page, car le lien ne sera pas accessible et vous devrez annuler l'enregistrement du cluster et recommencer les étapes depuis le début.

    • La commande ou le fichier manifeste ne peut être utilisé(e) qu'une seule fois pour le cluster enregistré. Si vous supprimez des ressources du cluster Kubernetes, vous devez réenregistrer le cluster et obtenir un nouveau fichier manifeste.

    Passez à l'étape suivante pour appliquer le fichier manifeste à votre cluster Kubernetes.

eksctl
Prérequis
  • eksctl version 0.68 ou une version ultérieure doit être installée. Pour l'installer ou la mettre à niveau, veuillez consulter la rubrique Commencez avec Amazon EKS — eksctl.

Pour inscrire votre cluster avec eksctl
  1. Enregistrez le cluster en fournissant un nom, un fournisseur et une région.

    eksctl register cluster --name my-cluster --provider my-provider --region region-code

    Exemple de sortie :

    2021-08-19 13:47:26 [ℹ]  creating IAM role "eksctl-20210819194112186040"
    2021-08-19 13:47:26 [ℹ]  registered cluster "<name>" successfully
    2021-08-19 13:47:26 [ℹ]  wrote file eks-connector.yaml to <current directory>
    2021-08-19 13:47:26 [ℹ]  wrote file eks-connector-clusterrole.yaml to <current directory>
    2021-08-19 13:47:26 [ℹ]  wrote file eks-connector-console-dashboard-full-access-group.yaml to <current directory>
    2021-08-19 13:47:26 [!]  note: "eks-connector-clusterrole.yaml" and "eks-connector-console-dashboard-full-access-group.yaml" give full EKS Console access to IAM identity "<aws-arn>", edit if required; read https://eksctl.io/usage/eks-connector for more info
    2021-08-19 13:47:26 [ℹ]  run `kubectl apply -f eks-connector.yaml,eks-connector-clusterrole.yaml,eks-connector-console-dashboard-full-access-group.yaml` before expiry> to connect the cluster
                                

    Cela crée des fichiers sur votre ordinateur local. Ces fichiers doivent être appliqués au cluster externe dans un délai de 3 jours, sinon l'enregistrement expire.

  2. Dans un terminal pouvant accéder au cluster, appliquez le fichier eks-connector-binding.yaml :

    kubectl apply -f eks-connector-binding.yaml

Étape 2 : Installation de l'agent eks-connector

Helm chart
Note

Si vous avez enregistré le cluster auprès deeksctl, utilisez la méthode YAML manifest au lieu de la méthode du graphique Helm.

  1. Si vous avez utilisé le AWS CLI à l'étape précédente, remplacez le ACTIVATION_CODE et ACTIVATION_ID dans la commande suivante par les activationCode valeursactivationId, et respectivement. aws-regionRemplacez-le par celui Région AWS que vous avez utilisé à l'étape précédente. Ensuite, exécutez la commande pour installer l'agent eks-connector dans le cluster d'enregistrement :

    $ helm install eks-connector \ --namespace eks-connector \ oci://public.ecr.aws/eks-connector/eks-connector-chart \ --set eks.activationCode=ACTIVATION_CODE \ --set eks.activationId=ACTIVATION_ID \ --set eks.agentRegion=aws-region

    Si vous avez utilisé le AWS Management Console à l'étape précédente, utilisez la commande que vous avez copiée à l'étape précédente et qui contient ces valeurs.

  2. Vérifiez le bon fonctionnement du eks-connector déploiement installé et attendez que le statut du cluster enregistré sur Amazon EKS soit le même. ACTIVE

YAML manifest

Terminez la connexion en appliquant le fichier manifeste Amazon EKS Connector à votre Kubernetes cluster. Pour ce faire, vous devez utiliser les méthodes décrites précédemment. Si le manifeste n'est pas appliqué dans les trois jours, l'enregistrement d'Amazon EKS Connector expire. Si la connexion de cluster expire, le cluster doit être désenregistré avant de reconnecter le cluster.

  1. Téléchargez le YAML fichier Amazon EKS Connector.

    curl -O https://amazon-eks.s3.us-west-2.amazonaws.com/eks-connector/manifests/eks-connector/latest/eks-connector.yaml
  2. Modifiez le YAML fichier Amazon EKS Connector pour remplacer toutes les références à %AWS_REGION%%EKS_ACTIVATION_ID%, %EKS_ACTIVATION_CODE% par le aws-regionactivationId, et activationCode issues de la sortie de l'étape précédente.

    L'exemple de commande suivant peut remplacer ces valeurs.

    sed -i "s~%AWS_REGION%~$aws-region~g; s~%EKS_ACTIVATION_ID%~$EKS_ACTIVATION_ID~g; s~%EKS_ACTIVATION_CODE%~$(echo -n $EKS_ACTIVATION_CODE | base64)~g" eks-connector.yaml
    Important

    Assurez-vous que votre code d'activation est au format base64.

  3. Dans un terminal pouvant accéder au cluster, vous pouvez appliquer le fichier manifeste mis à jour en exécutant la commande suivante :

    kubectl apply -f eks-connector.yaml
  4. Une fois que le manifeste Amazon EKS Connector et YAML les fichiers de liaison de rôles ont été appliqués à votre Kubernetes cluster, vérifiez que le cluster est désormais connecté.

    aws eks describe-cluster \ --name "my-first-registered-cluster" \ --region AWS_REGION

    La sortie doit inclure status=ACTIVE.

  5. (Facultatif) Attribuez des balises à votre cluster. Pour de plus amples informations, veuillez consulter Organisez les EKS ressources Amazon à l'aide de balises.

Étapes suivantes

Si vous rencontrez des problèmes lors de ces étapes, consultez la rubrique Résoudre les problèmes liés à Amazon EKS Connector.

Pour accorder à des IAMprincipaux supplémentaires l'accès à la EKS console Amazon afin de consulter Kubernetes les ressources d'un cluster connecté, consultezAutoriser l'accès à l'affichage des ressources du Kubernetes cluster sur une EKS console Amazon.