Cette page explique comment se connecter en SSH à un nœud de cluster GKE sur VMware.
Avant de commencer
Pour effectuer ces étapes, vous avez besoin de l'emplacement de vos fichiers kubeconfig
de cluster utilisateur et administrateur. Par défaut, ces fichiers sont stockés dans le répertoire dans lequel vous avez créé vos clusters administrateur et utilisateur.
Pour en savoir plus sur kubeconfig
, consultez la section Configurer l'accès au cluster pour kubectl dans la documentation GKE.
Obtenir les adresses IP de vos nœuds de cluster
Obtenez les adresses IP de vos nœuds de cluster utilisateur :
kubectl --kubeconfig [USER_CLUSTER_KUBECONFIG] get nodes --output wide
où [USER_CLUSTER_KUBECONFIG] est le chemin d'accès au fichier kubeconfig de votre cluster d'utilisateur.
Obtenez les adresses IP de vos nœuds de cluster d'administrateur :
kubectl --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] get nodes --output wide
où [ADMIN_CLUSTER_KUBECONFIG] est le chemin d'accès au fichier kubeconfig de votre cluster d'administrateur.
Pour chaque commande, notez le champ INTERNAL-IP
. Il s'agit des adresses IP des nœuds. Le champ NAME
inclut le nom du cluster d'utilisateur avec un ID unique ajouté. Par exemple, le nœud nommé my-user-cluster-12345678-abcdef
fait partie du cluster utilisateur nommé my-user-cluster
.
Utiliser SSH pour se connecter à un nœud de cluster utilisateur
Obtenez la clé SSH pour un cluster utilisateur :
kubectl --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] get secrets -n [USER_CLUSTER_NAME] ssh-keys \ -o jsonpath='{.data.ssh\.key}' | base64 -d > \ ~/.ssh/[USER_CLUSTER_NAME].key && chmod 600 ~/.ssh/[USER_CLUSTER_NAME].key
où :
[ADMIN_CLUSTER_KUBECONFIG] est le chemin d'accès au fichier kubeconfig de votre cluster d'administrateur.
[USER_CLUSTER_NAME] par le nom de votre cluster d'utilisateur. Vous avez spécifié ce nom lors de la création d'un cluster utilisateur.
La commande précédente effectue les étapes suivantes :
Depuis le cluster d'administrateur, récupérez le champ
ssh.key
d'un secret nomméssh-keys
dans l'espace de noms [USER_CLUSTER_NAME].Base64 décode la clé.
Stockez la clé décodée dans le fichier
~/.ssh/[USER_CLUSTER_NAME].key
.Définissez les autorisations d'accès appropriées pour le fichier de clé.
Utilisez la clé pour vous connecter en SSH à un nœud de cluster utilisateur :
ssh -i ~/.ssh/[USER_CLUSTER_NAME].key anthos@[USER_NODE_IP]
où [USER_NODE_IP] est l'adresse IP interne d'un nœud de votre cluster d'utilisateur, que vous avez recueillie précédemment.
Utiliser SSH pour se connecter à un nœud de cluster d'administrateur
Obtenez la clé SSH pour le cluster d'administrateur :
kubectl --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] get secrets -n kube-system sshkeys \ -o jsonpath='{.data.vsphere_tmp}' | base64 -d > \ ~/.ssh/admin-cluster.key && chmod 600 ~/.ssh/admin-cluster.key
où [ADMIN_CLUSTER_KUBECONFIG] est le chemin d'accès au fichier kubeconfig du cluster d'administrateur.
La commande précédente effectue les étapes suivantes :
Depuis le cluster d'administrateur, récupérez le champ
vsphere_tmp
d'un secret nommésshkeys
dans l'espace de nomskube-system
.Base64 décode le champ
vsphere_tmp
, qui est la clé.Stockez la clé décodée dans le fichier
~/.ssh/admin-cluster.key
.Définir les autorisations d'accès appropriées pour le fichier de clé
Utilisez la clé pour vous connecter en SSH à un nœud de cluster d'administrateur :
ssh -i ~/.ssh/admin-cluster.key anthos@[ADMIN_NODE_IP]
où [ADMIN_NODE_IP] est l'adresse IP interne d'un nœud du cluster d'administrateur, que vous avez recueillie précédemment.