访问用户虚拟机

本页介绍了如何通过 VPN 隧道连接从主机访问用户虚拟机。

如果允许进出包含用户虚拟机的项目的流量,则远程网络中与 GDC 组织建立 VPN 隧道连接的主机可以访问组织用户虚拟机的主接口。

准备工作

如需为 VPN 隧道配置入站和出站流量,您必须具备以下条件:

  • 现有 VPN 隧道。如需了解详情,请参阅创建 VPN 隧道
  • 已为包含虚拟机的项目启用出站和入站流量。如需了解详情,请参阅控制入站和出站流量
  • 必要的身份和访问权限角色:

    • VPN 管理员:拥有对所有 VPN 相关资源的读写权限。请让您的组织 IAM 管理员向您授予 VPN 管理员 (vpn-admin) 角色。
    • VPN Viewer:拥有对所有 VPN 相关资源的读取权限。请让您的组织 IAM 管理员向您授予 VPN Viewer (vpn-viewer) 角色。
    • Project VirtualMachine Admin:管理项目命名空间中的虚拟机。请让您的组织 IAM 管理员向您授予 Project VirtualMachine Admin (project-vm-admin) 角色。
    • 如需了解详情,请参阅角色定义

访问用户虚拟机

请按照以下步骤访问用户虚拟机的基本界面:

  1. 通过查看组织管理员集群中用户虚拟机的相应 VirtualMachine 对象,获取用户虚拟机的接口:

    kubectl --kubeconfig MANAGEMENT_API_SERVER get -n PROJECT_NAME gvm VM_NAME -ojson | jq '.status.network.interfaces'
    

    替换以下内容:

    • MANAGEMENT_API_SERVER:区域 API 服务器的 kubeconfig 路径。如果您尚未为目标地区中的 API 服务器生成 kubeconfig 文件,请参阅登录了解详情。
    • VM_NAMEVirtualMachine 对象的名称。

    输出类似于以下示例:

      [
        {
          "ipAddresses": [
            "172.16.19.189"
          ],
          "macAddress": "8a:fc:81:0b:41:dc",
          "name": "net1"
        }
      ]
      ```
    
  2. 远程网络中通过 VPN 隧道连接到 GDC 组织的主机可以通过主 net1 接口访问用户虚拟机:

    /home/ubuntu# ssh -i ~/vm-access user@172.16.19.189
    

    请注意,如需了解 SSH 访问权限的详细信息(包括如何检索虚拟机的密钥),请参阅连接到虚拟机