Conectarse a un nodo de clúster mediante SSH

En esta página se describe cómo conectarse a un nodo de clúster de Google Distributed Cloud mediante SSH.

Esta página está dirigida a administradores y operadores de TI que gestionan el ciclo de vida de la infraestructura tecnológica subyacente. Para obtener más información sobre los roles habituales y las tareas de ejemplo a las que hacemos referencia en el contenido, consulta Roles y tareas habituales de los usuarios de GKE. Google Cloud

Limitaciones

Las claves SSH de los clústeres de usuario y de administrador no se pueden cambiar ni rotar después de crear el clúster. Si tus políticas de seguridad requieren una rotación periódica de las claves SSH, vuelve a crear el clúster para establecer una nueva clave SSH.

Antes de empezar

Para completar estos pasos, necesitas la ubicación de los archivos kubeconfig de tu clúster de usuarios y administradores. De forma predeterminada, estos archivos se almacenan en el directorio en el que has creado los clústeres de administrador y de usuario. Para obtener más información sobre kubeconfig, consulta el artículo sobre cómo configurar el acceso a clústeres para kubectl en la documentación de GKE.

Obtener las direcciones IP de los nodos de tu clúster

Obtén las direcciones IP de los nodos de tu clúster de usuario:

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

donde [USER_CLUSTER_KUBECONFIG] es la ruta del archivo kubeconfig de tu clúster de usuario.

Obtén las direcciones IP de los nodos de tu clúster de administrador:

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

donde [ADMIN_CLUSTER_KUBECONFIG] es la ruta del archivo kubeconfig de tu clúster de administrador.

En ambos comandos, fíjate en el campo INTERNAL-IP. Estas son las direcciones IP de los nodos. El campo NAME incluye el nombre del clúster de usuarios con un ID único añadido. Por ejemplo, el nodo llamado my-user-cluster-12345678-abcdef forma parte del clúster de usuarios llamado my-user-cluster.

Conectarse a un nodo de clúster de usuario mediante SSH

Obtén la clave SSH de un clúster de usuario:

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

donde:

  • [ADMIN_CLUSTER_KUBECONFIG] es la ruta del archivo kubeconfig de tu clúster de administrador.

  • [USER_CLUSTER_NAME] es el nombre de tu clúster de usuarios. Has especificado este nombre al crear un clúster de usuarios.

El comando anterior realiza los siguientes pasos:

  • En el clúster de administrador, obtén el campo ssh.key de un secreto llamado ssh-keys en el espacio de nombres [USER_CLUSTER_NAME].

  • Decodifica la clave en Base64.

  • Almacena la clave decodificada en el archivo ~/.ssh/[USER_CLUSTER_NAME].key.

  • Define los permisos de acceso adecuados para el archivo de claves.

Usa la clave para conectarte a un nodo de clúster de usuario mediante SSH:

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

donde [USER_NODE_IP] es la dirección IP interna de un nodo de tu clúster de usuario, que has obtenido anteriormente.

Conectarse a un nodo de clúster de administrador mediante SSH

Obtén la clave SSH del clúster de administrador:

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

donde [ADMIN_CLUSTER_KUBECONFIG] es la ruta del archivo kubeconfig del clúster de administrador.

El comando anterior realiza los siguientes pasos:

  • En el clúster de administrador, obtén el campo vsphere_tmp de un secreto llamado sshkeys en el espacio de nombres kube-system.

  • Decodifica en Base64 el campo vsphere_tmp, que es la clave.

  • Almacena la clave decodificada en el archivo ~/.ssh/admin-cluster.key.

  • Define los permisos de acceso adecuados para el archivo de claves.

Usa la clave para conectarte a un nodo de clúster de administrador mediante SSH:

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

donde [ADMIN_NODE_IP] es la dirección IP interna de un nodo del clúster de administración, que has obtenido anteriormente.