Usar o SSH para estabelecer ligação a um nó do cluster

Esta página descreve como usar o SSH para aceder a um nó do cluster do Google Distributed Cloud.

Esta página destina-se a administradores de TI e operadores que gerem o ciclo de vida da infraestrutura tecnológica subjacente. Para saber mais sobre as funções comuns e as tarefas de exemplo a que fazemos referência no Google Cloud conteúdo, consulte o artigo Funções e tarefas comuns do utilizador do GKE.

Limitações

As chaves SSH para clusters de utilizadores e administradores não podem ser alteradas nem rodadas após a criação do cluster. Se as suas políticas de segurança exigirem uma rotação periódica da chave SSH, recrie o cluster para estabelecer uma nova chave SSH.

Antes de começar

Para concluir estes passos, precisa da localização dos ficheiros do cluster de utilizadores e de administradores kubeconfig. Por predefinição, estes ficheiros são armazenados no diretório onde criou os clusters de administrador e de utilizador. Para mais informações sobre kubeconfig, consulte o artigo Configurar o acesso ao cluster para o kubectl na documentação do GKE.

Obter os endereços IP dos nós do cluster

Obtenha os endereços IP dos nós do cluster de utilizadores:

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

em que [USER_CLUSTER_KUBECONFIG] é o caminho do ficheiro kubeconfig do cluster de utilizadores.

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

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

onde [ADMIN_CLUSTER_KUBECONFIG] é o caminho do ficheiro kubeconfig do cluster de administrador.

Para qualquer um dos comandos, repare no campo INTERNAL-IP. Estes são os endereços IP dos nós. O campo NAME inclui o nome do cluster de utilizadores com um ID exclusivo anexado. Por exemplo, o nó denominado my-user-cluster-12345678-abcdef faz parte do cluster de utilizadores denominado my-user-cluster.

Usar o SSH para estabelecer ligação a um nó do cluster de utilizadores

Obtenha a chave SSH para um cluster de utilizadores:

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

where:

  • [ADMIN_CLUSTER_KUBECONFIG] é o caminho do ficheiro kubeconfig do cluster de administrador.

  • [USER_CLUSTER_NAME] é o nome do seu cluster de utilizadores. Especificou este nome quando criou um cluster de utilizadores.

O comando anterior executa os seguintes passos:

  • No cluster de administrador, obtenha o campo ssh.key de um segredo denominado ssh-keys no espaço de nomes [USER_CLUSTER_NAME].

  • Descodifique a chave em Base64.

  • Armazene a chave descodificada no ficheiro ~/.ssh/[USER_CLUSTER_NAME].key.

  • Defina as autorizações de acesso adequadas para o ficheiro de chave.

Use a chave para SSH para um nó do cluster de utilizadores:

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 seu cluster de utilizadores, que recolheu anteriormente.

Usar o SSH para estabelecer ligação a um nó do cluster de administrador

Obtenha 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 ficheiro kubeconfig do cluster de administrador.

O comando anterior executa os seguintes passos:

  • No cluster de administrador, obtenha o campo vsphere_tmp de um segredo denominado sshkeys no espaço de nomes kube-system.

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

  • Armazene a chave descodificada no ficheiro ~/.ssh/admin-cluster.key.

  • Defina as autorizações de acesso adequadas para o ficheiro de chave.

Use a chave para estabelecer ligação SSH a um nó do cluster de administrador:

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

onde [ADMIN_NODE_IP] é o endereço IP interno de um nó no cluster de administração, que reuniu anteriormente.