Cette page explique comment configurer l'accès au cluster pour la ligne de commande kubectl pour GKE sur AWS.
Présentation
Pour accéder à GKE sur AWS, vous devez configurer kubectl
. Vous pouvez définir un cluster par défaut pour kubectl
en définissant le contexte actuel dans le fichier kubeconfig
de Kubernetes. Vous pouvez également exécuter des commandes kubectl
sur un cluster spécifique à l'aide de l'option --cluster
.
Pour plus d'informations sur kubeconfig
et les points de terminaison de cluster, consultez la section À propos de Kubeconfig.
Avant de commencer
Si vous utilisez la passerelle Connect pour
l'accès kubectl
, vous devez accorder aux administrateurs qui ne sont pas propriétaires du projet
les rôles IAM décrits dans
Utiliser kubectl avec l'identité de la gcloud CLI.
Vérifier le fichier kubeconfig actuel
Cette section explique comment vérifier votre fichier kubeconfig
actuel.
Afficher les contextes kubeconfig
Pour afficher le fichier kubeconfig
de votre environnement et tous les contextes qu'il contient, exécutez la commande suivante :
kubectl config view
La commande renvoie la liste des clusters pour lesquels des entrées kubeconfig
ont été générées. Si un cluster GKE sur AWS est répertorié, vous pouvez y exécuter des commandes kubectl
dans votre environnement actuel. Sinon, vous devez générer une entrée kubeconfig
pour le cluster.
Afficher le contexte actuel pour kubectl
Pour afficher le contexte actuel utilisé par l'outil de ligne de commande kubectl, exécutez la commande suivante :
kubectl config current-context
kubectl
renvoie le nom du contexte actuel.
Générer une entrée kubeconfig
Pour exécuter des commandes kubectl
sur des clusters GKE, vous devez générer une entrée kubeconfig
. La façon dont vous générez un kubeconfig
dépend de la manière dont vous souhaitez vous connecter au cluster. Nous vous recommandons d'utiliser la passerelle Connect. Si vous souhaitez vous connecter via un point de terminaison privé, vous devez disposer d'une connexion et d'un routage vers le point de terminaison du plan de contrôle dans votre cloud privé virtuel AWS. L'outil kube-apiserver du cluster fait partie du plan de contrôle. Pour envoyer des requêtes directement au point de terminaison privé, vous devrez peut-être étendre les règles de pare-feu. Pour en savoir plus sur la connexion au plan de contrôle, consultez la page Groupes de sécurité AWS.
La passerelle Connect
gcloud container aws clusters get-credentials CLUSTER_NAME \
--location GOOGLE_CLOUD_LOCATION
Remplacez les éléments suivants :
CLUSTER_NAME
: nom du clusterGOOGLE_CLOUD_LOCATION
: région ou zone Google Cloud dans laquelle GKE sur AWS est géré
Point de terminaison privé
Pour vous connecter au point de terminaison privé, vous devez disposer d'une connectivité au plan de contrôle du cluster. Consultez la section Se connecter au plan de contrôle de votre cluster.
gcloud container aws clusters get-credentials CLUSTER_NAME \
--location GOOGLE_CLOUD_LOCATION \
--private-endpoint
Remplacez les éléments suivants :
CLUSTER_NAME
: nom du clusterGOOGLE_CLOUD_LOCATION
: région ou zone Google Cloud dans laquelle GKE sur AWS est géré
Travailler avec plusieurs clusters
Cette section explique comment utiliser kubectl
avec plusieurs clusters GKE.
Définir un cluster par défaut pour les commandes kubectl
Vous pouvez basculer le contexte actuel de kubectl
vers ce cluster en exécutant la commande suivante :
gcloud container aws clusters get-credentials CLUSTER_NAME \
--location GOOGLE_CLOUD_LOCATION \
Remplacez les éléments suivants :
CLUSTER_NAME
: nom du clusterGOOGLE_CLOUD_LOCATION
: région ou zone Google Cloud dans laquelle GKE sur AWS est géré
Par exemple, imaginons un projet avec deux clusters, cluster-1
et cluster-2
.
Le contexte actuel est cluster-2
. Pour faire passer le contexte actuel de cluster-2
à cluster-1
, exécutez la commande suivante :
gcloud container aws clusters get-credentials cluster-1 \
--location GOOGLE_CLOUD_LOCATION
Exécuter des commandes kubectl individuelles sur un cluster spécifique
Vous pouvez exécuter des commandes kubectl
individuelles sur un cluster spécifique en transmettant le nom du cluster tel qu'il apparaît dans kubeconfig
en tant qu'argument de l'option --cluster
.
Par exemple, imaginons un environnement avec deux clusters, cluster-1
et cluster-2
, dans lequel le contexte actuel est cluster-1
. Vous ne souhaitez pas modifier le contexte actuel. Pour obtenir la liste des objets du pod sur cluster-2
sans modifier le contexte actuel, exécutez la commande suivante :
kubectl get pod --cluster cluster-2