View a markdown version of this page

Connexion de kubectl à un cluster EKS en créant un fichier kubeconfig - 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.

Connexion de kubectl à un cluster EKS en créant un fichier kubeconfig

Astuce

Inscrivez-vous aux prochains ateliers Amazon EKS.

Dans cette rubrique, vous allez créer un fichier kubeconfig pour votre cluster (ou mettre à jour un fichier existant).

L'outil de ligne de commande kubectl utilise les informations de configuration dans les fichiers kubeconfig pour communiquer avec le serveur API d'un cluster. Pour plus d’informations, consultez Organisation de l’accès au cluster à l’aide des fichiers kubeconfig dans la documentation Kubernetes.

Amazon EKS utilise la commande aws eks get-token avec kubectl pour l'authentification du cluster. Par défaut, la AWS CLI utilise les mêmes informations d'identification que celles renvoyées par la commande suivante :

aws sts get-caller-identity
  • Un cluster Amazon EKS existant. Pour en déployer un, consultez Mise en route avec Amazon EKS.

  • L'outil de ligne de commande kubectl est installé sur votre appareil ou AWS CloudShell. La version peut correspondre à celle utilisée par votre cluster Kubernetes, ou différer d’au plus une version mineure, qu’elle soit antérieure ou plus récente. Par exemple, si la version de votre cluster est 1.29, vous pouvez utiliser la version kubectl 1.28, 1.29 ou 1.30. Pour installer ou mettre à niveau kubectl, veuillez consulter Configurer kubectl et eksctl .

  • Version 2.12.3 ou version ultérieure 1.27.160 ou version ultérieure de l'interface de ligne de AWS commande (AWS CLI) installée et configurée sur votre appareil ou AWS CloudShell. Pour vérifier votre version actuelle, utilisez aws --version | cut -d / -f2 | cut -d ' ' -f1. Les gestionnaires de packages tels que yumapt-get,, ou Homebrew pour macOS ont souvent plusieurs versions de la dernière version de la AWS CLI. Pour installer la dernière version, consultez la section Installation et configuration rapide avec aws configure dans le Guide de l'utilisateur de l'interface de ligne de AWS commande. La version de la AWS CLI qui est installée AWS CloudShell peut également contenir plusieurs versions de la dernière version. Pour le mettre à jour, consultez la section Installation de la AWS CLI dans votre répertoire personnel dans le Guide de AWS CloudShell l'utilisateur.

  • Un utilisateur IAM ou un rôle IAM avec l'autorisation d'utiliser l'action d'API eks:DescribeCluster pour le cluster que vous spécifiez. Pour de plus amples informations, veuillez consulter Exemples de politiques basées sur l'identité d'Amazon EKS. Si vous utilisez une identité provenant de votre propre fournisseur OpenID Connect pour accéder à votre cluster, consultez Utilisation de kubectl dans la documentation Kubernetes afin de créer ou de mettre à jour votre fichier kubeconfig.

Connectez-vous à l'aide de la console EKS (CloudShell)

Vous pouvez vous connecter à votre cluster directement depuis l' Console de gestion AWS utilisation AWS CloudShell, sans aucune configuration locale.

  1. Ouvrez la console Amazon EKS à l'adresse https://console.aws.amazon.com/eks/home #/clusters.

  2. Choisissez le nom du cluster auquel vous souhaitez vous connecter.

  3. Sur la page des détails du cluster, choisissez Connect dans la barre d'action en haut à droite.

  4. AWS CloudShell s'ouvre avec une kubectl configuration préconfigurée pour votre cluster.

Une fois connecté, vous pouvez exécuter kubectl les commandes immédiatement :

kubectl get nodes kubectl get pods -A

CloudShell les sessions incluent kubectl la AWS CLI et les CloudShell utilitaires standard. Cette fonctionnalité prend en charge les clusters dotés de points de terminaison de serveurs d'API publics et privés. Pour les clusters dotés de points de terminaison privés, lance CloudShell automatiquement un environnement VPC pour accéder au serveur d'API privé de votre cluster et vous invite à saisir un nom pour l'environnement.

Créez le fichier kubeconfig à l'aide du AWS INTERFACE DE LIGNE DE COMMANDE (CLI)

  • Version 2.12.3 ou version ultérieure 1.27.160 ou version ultérieure de l'interface de ligne de AWS commande (AWS CLI) installée et configurée sur votre appareil ou AWS CloudShell. Pour vérifier votre version actuelle, utilisez aws --version | cut -d / -f2 | cut -d ' ' -f1. Les gestionnaires de packages tels que yumapt-get,, ou Homebrew pour macOS ont souvent plusieurs versions de la dernière version de la AWS CLI. Pour installer la dernière version, consultez la section Installation et configuration rapide avec aws configure dans le Guide de l'utilisateur de l'interface de ligne de AWS commande. La version de la AWS CLI qui est installée AWS CloudShell peut également contenir plusieurs versions de la dernière version. Pour le mettre à jour, consultez la section Installation de la AWS CLI dans votre répertoire personnel dans le Guide de AWS CloudShell l'utilisateur.

  • Autorisation d'utiliser l'action d'API eks:DescribeCluster pour le cluster que vous spécifiez. Pour de plus amples informations, veuillez consulter Exemples de politiques basées sur l'identité d'Amazon EKS.

    1. Créez ou mettez à jour un fichier kubeconfig pour votre cluster. region-codeRemplacez-la par la AWS région dans laquelle se trouve votre cluster et my-cluster remplacez-la par le nom de votre cluster.

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

      Par défaut, le fichier de configuration résultant est créé dans le chemin kubeconfig par défaut (.kube) dans votre répertoire de base ou fusionné avec un fichier config existant à cet emplacement. Vous pouvez spécifier un autre chemin avec l'option --kubeconfig.

      Vous pouvez spécifier un ARN de rôle IAM avec l'option --role-arn à utiliser pour l'authentification lorsque vous émettez des commandes kubectl. Sinon, le principal IAM de votre chaîne d'informations d'identification AWS CLI ou SDK par défaut est utilisé. Vous pouvez afficher votre identité AWS CLI ou SDK par défaut en exécutant la aws sts get-caller-identity commande.

      Pour connaître toutes les options disponibles, exécutez la aws eks update-kubeconfig help commande ou consultez update-kubeconfig dans la référence des commandes de l'interface de ligne de commande. AWS

    2. Testez votre configuration.

      kubectl get svc

      L'exemple qui suit illustre un résultat.

      NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE svc/kubernetes ClusterIP 10.100.0.1 <none> 443/TCP 1m

      Si vous recevez d'autres erreurs concernant les types d'autorisations ou de ressources, consultez Accès non autorisé ou refusé (kubectl) dans la rubrique relative à la résolution des problèmes.