本页面介绍如何通过 SSH 连接到 Google Distributed Cloud 集群节点。
本页面适用于管理底层技术基础设施生命周期的 IT 管理员和运维人员。如需详细了解我们在 Google Cloud 内容中提及的常见角色和示例任务,请参阅常见的 GKE Enterprise 用户角色和任务。
准备工作
要完成这些步骤,您需要用户集群和管理员集群的 kubeconfig
文件的位置。默认情况下,这些文件存储在您创建管理员集群和用户集群的目录中。
如需详细了解 kubeconfig
,请参阅 GKE 文档中的为 kubectl 配置集群访问权限。
获取集群节点的 IP 地址
获取用户集群节点的 IP 地址:
kubectl --kubeconfig [USER_CLUSTER_KUBECONFIG] get nodes --output wide
其中,[USER_CLUSTER_KUBECONFIG] 是用户集群的 kubeconfig 文件的路径。
获取管理员集群节点的 IP 地址:
kubectl --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] get nodes --output wide
其中,[ADMIN_CLUSTER_KUBECONFIG] 是管理员集群的 kubeconfig 文件的路径。
对于任一命令,请注意 INTERNAL-IP
字段。这些是节点 IP 地址。 NAME
字段包括用户集群的名称,并附带唯一 ID。例如,名为 my-user-cluster-12345678-abcdef
的节点属于用户集群 my-user-cluster
。
使用 SSH 连接到用户集群节点
获取用户集群的 SSH 密钥:
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
其中:
[ADMIN_CLUSTER_KUBECONFIG] 是管理员集群的 kubeconfig 文件的路径。
[USER_CLUSTER_NAME] 是您的用户集群的名称。此名称是在创建用户集群时指定的。
上述命令会执行以下步骤:
在管理员集群中,获取 [USER_CLUSTER_NAME] 命名空间中名为
ssh-keys
的 Secret 的ssh.key
字段。对密钥进行 Base64 解码。
将解码后的密钥存储在文件
~/.ssh/[USER_CLUSTER_NAME].key
中。为密钥文件设置适当的访问权限。
使用密钥通过 SSH 连接到用户集群节点:
ssh -i ~/.ssh/[USER_CLUSTER_NAME].key anthos@[USER_NODE_IP]
其中,[USER_NODE_IP] 是您之前收集的用户集群节点的内部 IP 地址。
使用 SSH 连接到管理员集群节点
获取管理员集群的 SSH 密钥:
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
其中,[ADMIN_CLUSTER_KUBECONFIG] 是管理员集群的 kubeconfig 文件的路径。
上述命令会执行以下步骤:
在管理员集群中,获取
kube-system
命名空间中名为sshkeys
的 Secret 的vsphere_tmp
字段。对
vsphere_tmp
字段(密钥)进行 Base64 解码。将解码后的密钥存储在文件
~/.ssh/admin-cluster.key
中。为密钥文件设置适当的访问权限。
使用密钥通过 SSH 连接到管理员集群节点:
ssh -i ~/.ssh/admin-cluster.key anthos@[ADMIN_NODE_IP]
其中,[ADMIN_NODE_IP] 是您之前收集的管理员集群节点的内部 IP 地址。