Como usar o SSH para se conectar a um nó de cluster

Nesta página, descrevemos como usar SSH em um nó de cluster do Google Distributed Cloud.

Antes de começar

Para concluir essas etapas, você precisará do local dos arquivos kubeconfig do usuário e do administrador. Por padrão, esses arquivos são armazenados no diretório em que você criou os clusters de administrador e usuário. Para mais informações sobre kubeconfig, consulte Como configurar o acesso ao cluster para a kubectl na documentação do GKE.

Como conseguir os endereços IP dos nós do cluster

Consiga os endereços IP dos seus nós de cluster de usuário:

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

em que [USER_CLUSTER_KUBECONFIG] é o caminho do arquivo kubeconfig do cluster de usuários.

Consiga os endereços IP dos nós do cluster de administrador:

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

em que [ADMIN_CLUSTER_KUBECONFIG] é o caminho do arquivo kubeconfig do cluster de administrador.

Para qualquer um dos comandos, anote o campo INTERNAL-IP. Esses são os endereços IP do nó. O campo NAME inclui o nome do cluster de usuário com um código exclusivo anexado. Por exemplo, o nó chamado my-user-cluster-12345678-abcdef faz parte do cluster do usuário chamado my-user-cluster.

Como usar SSH para se conectar a um nó de cluster de usuário

Consiga a chave SSH para um cluster de usuário:

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

onde:

  • [ADMIN_CLUSTER_KUBECONFIG] é o caminho do arquivo kubeconfig do cluster de administrador;

  • [USER_CLUSTER_NAME] pelo nome do cluster de usuário. Você especificou esse nome ao criar um cluster de usuários.

O comando anterior executa as seguintes etapas:

  • No cluster de administrador, consiga o campo ssh.key de um secret chamado ssh-keys no namespace [USER_CLUSTER_NAME].

  • Decodifique em Base64 a chave.

  • Armazene a chave decodificada no arquivo ~/.ssh/[USER_CLUSTER_NAME].key.

  • Defina as permissões de acesso apropriadas para o arquivo de chave.

Use a chave para executar o SSH em um nó de cluster do usuário:

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

em que [USER_NODE_IP] é o endereço IP interno de um nó no cluster de usuário, que você coletou anteriormente.

Como usar o SSH para se conectar a um nó de cluster de administrador

Consiga a chave SSH para o cluster 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

em que [ADMIN_CLUSTER_KUBECONFIG] é o caminho do arquivo kubeconfig do cluster de administrador.

O comando anterior executa as seguintes etapas:

  • No cluster de administração, consiga o campo vsphere_tmp de um secret chamado sshkeys no namespace kube-system.

  • Decodifique em Base64 o campo vsphere_tmp, que é a chave.

  • Armazene a chave decodificada no arquivo ~/.ssh/admin-cluster.key.

  • Defina as permissões de acesso apropriadas para o arquivo de chave.

Use a chave para executar o SSH em um nó de cluster de administrador:

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

em que [ADMIN_NODE_IP] é o endereço IP interno de um nó no cluster de administrador, que você coletou anteriormente.