本页面介绍如何通过 SSH 连接到 GKE On-Prem 集群节点。
获取集群节点的 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 地址。
使用 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 ubuntu@[NODE_IP]
其中,[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 ubuntu@[NODE_IP]
其中,[NODE_IP] 是您之前收集的管理员集群节点的内部 IP 地址。