可以 vmware-system-user 用户身份使用密码通过 SSH 连接到工作负载集群节点。

可以 vmware-system-user 用户身份使用密码连接到集群节点。该密码将作为名为 CLUSTER-NAME-ssh-password 的密码进行存储。密码在 .data.ssh-passwordkey 中以 base64 编码。可以通过 SSH 会话提供密码。请参见使用 Kubectl 获取 TKG 集群密钥

前提条件

要将 SSH 连接路由到适当的工作负载网络,请在启用 工作负载管理的 vSphere 环境中部署 Linux 跳转主机虚拟机。请参见 创建 Linux 跳转主机虚拟机
注: 如果使用 vDS 网络连接并且要使用 SSH 连接到集群节点,则部署跳转主机虚拟机是一项硬性要求。如果您希望使用密码而不是私钥通过 SSH 进行连接,也可以配合使用此方法和 NSX 网络连接。

过程

  1. 获取跳转主机虚拟机的 IP 地址、用户名和密码。
  2. 连接到 主管
  3. 将环境切换到置备了目标 TKG 集群的 vSphere 命名空间
    kubectl config use-context VSPHERE-NAMESPACE
  4. 获取目标集群节点的 IP 地址。
    列出节点。
    kubectl get virtualmachines
    描述用于获取目标节点 IP 地址的节点。
    kubectl describe virtualmachines
  5. 查看 TKG-CLUSTER-NAME-ssh-password 密钥。
    kubectl get secrets
  6. 获取目标集群的 ssh-passwordkey。
    kubectl get secrets TKG-CLUSTER-NAME-ssh-password -o yaml
    将返回 ssh-passwordkey,例如如下值。
    apiVersion: v1
    data:
      ssh-passwordkey: RU1pQllLTC9TRjVFV0RBcCtmd1zwOTROeURYSWNGeXNReXJhaXRBUllYaz0=
    
  7. 对 ssh-passwordkey 进行解码。
    密钥采用 Base64 编码。对其进行解码:在 Linux 上,使用 base64 --decode(或 base64 -d);在 MacOS 上,使用 base64 --Decode(或 base64 -D);在 Windows 上,使用 联机工具
    echo <ssh-passwordkey> | base64 --decode
  8. vmware-system-user 用户身份通过 SSH 连接到目标集群节点。
    ssh vmware-system-user@TKG-CLUSTER-NODE-IP-ADDRESS
  9. 使用您解码的密码登录。