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 denominadossh-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 denominadosshkeys
no espaço de nomeskube-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.