Se connecter à un nœud de cluster via SSH

Cette page explique comment se connecter en SSH à un nœud de cluster GKE On-Prem.

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

[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

[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.

Utiliser SSH pour se connecter à un nœud de cluster d'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] est le nom de votre cluster d'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 ubuntu@[NODE_IP]

[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

[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 noms kube-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 ubuntu@[NODE_IP]

[NODE_IP] est l'adresse IP interne d'un nœud du cluster d'administrateur, que vous avez recueillie précédemment.