Utilizzo di SSH per la connessione a un nodo del cluster

Questa pagina descrive come creare una connessione SSH a un nodo cluster GKE On-Prem.

Prima di iniziare

Per completare questi passaggi, devi avere la posizione dei tuoi file utente del cluster di amministrazione e dell'amministratore kubeconfig. Per impostazione predefinita, questi file vengono archiviati nella directory in cui hai creato i cluster utente e amministratore. Per ulteriori informazioni su kubeconfig, consulta la sezione Configurare l'accesso ai cluster per kubectl nella documentazione di GKE.

Recupero degli indirizzi IP dei nodi del cluster

Recupera gli indirizzi IP dei nodi del cluster utente:

kubectl --kubeconfig [USER_CLUSTER_KUBECONFIG] get nodes --output wide

dove [USER_CLUSTER_KUBECONFIG] è il percorso del file kubeconfig del cluster utente.

Recupera gli indirizzi IP dei nodi del cluster di amministrazione:

kubectl --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] get nodes --output wide

dove [ADMIN_CLUSTER_KUBECONFIG] è il percorso del tuo file kubeconfig del cluster di amministrazione.

Per entrambi i comandi, prendi nota del campo INTERNAL-IP. Questi sono gli indirizzi IP dei nodi.

Utilizzo di SSH per la connessione a un nodo cluster utente

Ottieni la chiave SSH per un cluster utente:

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

dove:

  • [ADMIN_CLUSTER_KUBECONFIG] è il percorso del file kubeconfig del cluster di amministrazione.

  • [USER_CLUSTER_NAME] è il nome del cluster utente.

Il comando precedente esegue questa procedura:

  • Dal cluster di amministrazione, recupera il campo ssh.key di un Secret denominato ssh-keys nello spazio dei nomi [USER_CLUSTER_NAME].

  • Decodifica base64 della chiave.

  • Archivia la chiave decodificata nel file ~/.ssh/[USER_CLUSTER_NAME].key.

  • Imposta le autorizzazioni di accesso appropriate per il file della chiave.

Utilizza la chiave per connetterti a un nodo del cluster utente: SSH:

ssh -i ~/.ssh/[USER_CLUSTER_NAME].key ubuntu@[NODE_IP]

dove [NODE_IP] è l'indirizzo IP interno di un nodo nel cluster utente, che hai raccolto in precedenza.

Utilizzo di SSH per la connessione a un nodo del cluster di amministrazione

Ottieni la chiave SSH per il cluster di amministrazione:

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

dove [ADMIN_CLUSTER_KUBECONFIG] è il percorso del file del kubeconfig del cluster di amministrazione.

Il comando precedente esegue questa procedura:

  • Dal cluster di amministrazione, recupera il campo vsphere_tmp di un Secret denominato sshkeys nello spazio dei nomi kube-system.

  • Base64 decodifica il campo vsphere_tmp, che è la chiave.

  • Archivia la chiave decodificata nel file ~/.ssh/admin-cluster.key.

  • Imposta le autorizzazioni di accesso appropriate per il file della chiave.

Utilizza la chiave per connetterti a un nodo del cluster di amministrazione tramite SSH:

ssh -i ~/.ssh/admin-cluster.key ubuntu@[NODE_IP]

dove [NODE_IP] è l'indirizzo IP interno di un nodo nel cluster di amministrazione, che hai raccolto in precedenza.