本页介绍了如何通过 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
) 角色。 - 如需了解详情,请参阅角色定义。
- VPN 管理员:拥有对所有 VPN 相关资源的读写权限。请让您的组织 IAM 管理员向您授予 VPN 管理员 (
访问用户虚拟机
请按照以下步骤访问用户虚拟机的基本界面:
通过查看组织管理员集群中用户虚拟机的相应
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_NAME
:VirtualMachine
对象的名称。
输出类似于以下示例:
[ { "ipAddresses": [ "172.16.19.189" ], "macAddress": "8a:fc:81:0b:41:dc", "name": "net1" } ] ```
远程网络中通过 VPN 隧道连接到 GDC 组织的主机可以通过主
net1
接口访问用户虚拟机:/home/ubuntu# ssh -i ~/vm-access user@172.16.19.189
请注意,如需了解 SSH 访问权限的详细信息(包括如何检索虚拟机的密钥),请参阅连接到虚拟机。