Cette page explique comment obtenir un protocole SSH (Secure Shell) dans un nœud de cluster GKE On-Prem.
Présentation
Pour vous connecter en SSH à un nœud de cluster d'utilisateur ou d'administrateur, téléchargez une clé SSH à partir du plan de contrôle du cluster. Ensuite, vous utilisez la clé pour obtenir une interface système dans un nœud de cluster.
Après avoir téléchargé la clé SSH, envisagez de l'enregistrer dans un système de gestion de codes secrets/identifiants (par exemple, HashiCorp Vault). Si vous souhaitez vous connecter en SSH à un nœud de cluster à l'avenir et que le serveur d'API est en panne, vous avez besoin de la clé SSH enregistrée.
Obtenir les adresses IP de vos nœuds de cluster
Cluster d'utilisateur
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 utilisateur.
Cluster d'administrateur
Obtenez les adresses IP de vos nœuds de cluster d'administration :
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.
Dans le résultat de la 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 yaml \ | grep ssh.key: | awk '{ print $NF }' | 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]
où [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 yaml \ | grep vsphere_tmp: | awk '{ print $NF }' | 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 ubuntu@[NODE_IP]
où [NODE_IP] est l'adresse IP interne d'un nœud du cluster d'administrateur, que vous avez recueillie précédemment.