Utilizzo di SSH per la connessione a un nodo del cluster

Questa pagina descrive come connettersi tramite SSH a un nodo del cluster Google Distributed Cloud.

Questa pagina è rivolta agli amministratori IT e agli operatori che gestiscono il ciclo di vita dell'infrastruttura tecnologica sottostante. Per scoprire di più sui ruoli comuni e sulle attività di esempio a cui facciamo riferimento nei contenuti di Google Cloud , consulta la pagina Ruoli e attività comuni degli utenti di GKE Enterprise.

Limitazioni

Le chiavi SSH per i cluster utente e di amministrazione non possono essere modificate o ruotate dopo la creazione del cluster. Se i tuoi criteri di sicurezza richiedono la rotazione periodica delle chiavi SSH, ricrea il cluster per stabilire una nuova chiave SSH.

Prima di iniziare

Per completare questi passaggi, devi disporre della posizione dei file kubeconfig del cluster utente e di amministrazione. Per impostazione predefinita, questi file vengono archiviati nella directory in cui hai creato i cluster di amministrazione e utente. Per saperne di più su kubeconfig, consulta la sezione Configurazione dell'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 file kubeconfig del cluster di amministrazione.

Per entrambi i comandi, prendi nota del campo INTERNAL-IP. Questi sono gli indirizzi IP dei nodi. Il campo NAME include il nome del cluster di utenti con un ID univoco aggiunto. Ad esempio, il nodo denominato my-user-cluster-12345678-abcdef fa parte del cluster utente denominato my-user-cluster.

Utilizzo di SSH per la connessione a un nodo del 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 tuo cluster utente. Hai specificato questo nome durante la creazione di un cluster utente.

Il comando precedente esegue i seguenti passaggi:

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

  • Decodifica la chiave Base64.

  • 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 accedere a un nodo del cluster utente tramite SSH:

ssh -i ~/.ssh/[USER_CLUSTER_NAME].key anthos@[USER_NODE_IP]

dove [USER_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

Recupera 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 kubeconfig del cluster di amministrazione.

Il comando precedente esegue i seguenti passaggi:

  • 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 accedere a un nodo del cluster di amministrazione tramite SSH:

ssh -i ~/.ssh/admin-cluster.key anthos@[ADMIN_NODE_IP]

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