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

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 kubectl à un EKS cluster en créant un kubeconfig dans le fichier

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

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

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

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

  • L'outil de ligne de commande kubectl est installé sur votre appareil ou AWS CloudShell. La version peut être identique ou supérieure à une version mineure antérieure ou ultérieure à Kubernetes version de votre cluster. Par exemple, si la version de votre cluster est 1.30, vous pouvez utiliser la version kubectl 1.29, 1.30 ou 1.31. Pour installer ou mettre à niveau kubectl, veuillez consulter Configuration kubectl et eksctl.

  • Version 2.12.3 ou ultérieure ou version 1.27.160 ou ultérieure du AWS Command Line Interface (AWS CLI) installé et configuré sur votre appareil ou AWS CloudShell. Pour vérifier votre version actuelle, utilisez aws --version | cut -d / -f2 | cut -d ' ' -f1. Des gestionnaires de packages tels que yumapt-get, ou Homebrew for macOS ont souvent plusieurs versions de retard par rapport à la dernière version du AWS CLI. Pour installer la dernière version, voir Installation, mise à jour et désinstallation de AWS CLI et Configuration rapide avec aws configure dans le guide de l'utilisateur AWS Command Line Interface . La AWS CLI version installée AWS CloudShell peut également avoir plusieurs versions de retard par rapport à la dernière version. Pour le mettre à jour, consultez la section Installation AWS CLI dans votre répertoire personnel dans le guide de AWS CloudShell l'utilisateur.

  • IAMUtilisateur ou rôle autorisé à utiliser l'eks:DescribeClusterAPIaction pour le cluster que vous spécifiez. Pour de plus amples informations, veuillez consulter Exemples de politiques EKS basées sur l'identité d'Amazon. Si vous utilisez une identité qui vous appartient OpenID Connect fournisseur pour accéder à votre cluster, puis consultez la section Utilisation kubectl dans le Kubernetes documentation pour créer ou mettre à jour votre kube config fichier.

Créer le fichier kubeconfig automatiquement

Prérequis
  • Version 2.12.3 ou ultérieure ou version 1.27.160 ou ultérieure du AWS Command Line Interface (AWS CLI) installé et configuré sur votre appareil ou AWS CloudShell. Pour vérifier votre version actuelle, utilisez aws --version | cut -d / -f2 | cut -d ' ' -f1. Des gestionnaires de packages tels que yumapt-get, ou Homebrew for macOS ont souvent plusieurs versions de retard par rapport à la dernière version du AWS CLI. Pour installer la dernière version, voir Installation, mise à jour et désinstallation de AWS CLI et Configuration rapide avec aws configure dans le guide de l'utilisateur AWS Command Line Interface . La AWS CLI version installée AWS CloudShell peut également avoir plusieurs versions de retard par rapport à la dernière version. Pour le mettre à jour, consultez la section Installation AWS CLI dans votre répertoire personnel dans le guide de AWS CloudShell l'utilisateur.

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

Pour créer votre kubeconfig fichier à l'aide du AWS CLI
  1. Créez ou mettez à jour un fichier kubeconfig pour votre cluster. Remplacer region-code avec Région AWS celui dans lequel se trouve votre cluster et remplacez my-cluster avec 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 IAM rôle ARN avec l'--role-arnoption à utiliser pour l'authentification lorsque vous émettez kubectl des commandes. Dans le cas contraire, le IAMprincipal de votre chaîne par défaut AWS CLI ou SDK d'identification est utilisé. Vous pouvez consulter votre SDK identité AWS CLI ou votre identité par défaut en exécutant la aws sts get-caller-identity commande.

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

  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.