$ virtctl vnc <vm_name>
您可以使用 OpenShift Container Platform Web 控制台或 `virtctl` 命令行工具连接到虚拟机的 VNC 控制台。
您可以使用 OpenShift Container Platform Web 控制台连接到虚拟机 (VM) 的 VNC 控制台。
如果您连接到分配了作为媒介设备的 vGPU 的 Windows VM,则可以在默认显示和 vGPU 显示之间切换。 |
在**虚拟化** → **虚拟机**页面上,点击一台虚拟机以打开**虚拟机详情**页面。
点击**控制台**选项卡。VNC 控制台会话将自动启动。
可选:要切换到 Windows 虚拟机的 vGPU 显示,请从**发送按键**列表中选择**Ctrl + Alt + 2**。
从**发送按键**列表中选择**Ctrl + Alt + 1**以恢复默认显示。
要结束控制台会话,请点击控制台窗格外部,然后点击**断开连接**。
您可以使用virtctl
命令行工具连接到正在运行的虚拟机的 VNC 控制台。
如果您通过 SSH 连接在远程机器上运行 |
您必须安装virt-viewer
软件包。
运行以下命令以启动控制台会话
$ virtctl vnc <vm_name>
如果连接失败,请运行以下命令收集故障排除信息
$ virtctl vnc <vm_name> -v 4
要访问虚拟机 (VM) 的 VNC,请为 Kubernetes API 生成一个临时的身份验证承载令牌。
Kubernetes 还支持使用客户端证书进行身份验证,而不是使用承载令牌,方法是修改 curl 命令。 |
运行的虚拟机具有 OpenShift Virtualization 4.14 或更高版本和ssp-operator
4.14 或更高版本
在超融合 (HCO
) 自定义资源 (CR) 中启用功能网关
$ oc patch hyperconverged kubevirt-hyperconverged -n openshift-cnv --type json -p '[{"op": "replace", "path": "/spec/featureGates/deployVmConsoleProxy", "value": true}]'
输入以下命令生成令牌
$ curl --header "Authorization: Bearer ${TOKEN}" \
"https://api.<cluster_fqdn>/apis/token.kubevirt.io/v1alpha1/namespaces/<namespace>/virtualmachines/<vm_name>/vnc?duration=<duration>"
<duration>
参数可以用小时和分钟设置,最短持续时间为 10 分钟。例如:5h30m
。如果未设置此参数,则令牌默认有效期为 10 分钟。
示例输出
{ "token": "eyJhb..." }
可选:使用输出中提供的令牌创建一个变量
$ export VNC_TOKEN="<token>"
您现在可以使用该令牌访问虚拟机的 VNC 控制台。
输入以下命令登录集群
$ oc login --token ${VNC_TOKEN}
使用virtctl
命令测试对虚拟机 VNC 控制台的访问
$ virtctl vnc <vm_name> -n <namespace>
目前无法撤销特定令牌。 要撤销令牌,必须删除用于创建令牌的服务帐户。但是,这也会撤销使用该服务帐户创建的所有其他令牌。请谨慎使用以下命令
|
作为集群管理员,您可以安装集群角色并将其绑定到用户或服务帐户,以允许访问生成 VNC 控制台令牌的端点。
选择将集群角色绑定到用户或服务帐户。
运行以下命令将集群角色绑定到用户
$ kubectl create rolebinding "${ROLE_BINDING_NAME}" --clusterrole="token.kubevirt.io:generate" --user="${USER_NAME}"
运行以下命令将集群角色绑定到服务帐户
$ kubectl create rolebinding "${ROLE_BINDING_NAME}" --clusterrole="token.kubevirt.io:generate" --serviceaccount="${SERVICE_ACCOUNT_NAME}"
您可以使用 OpenShift Container Platform Web 控制台或virtctl
命令行工具连接到虚拟机的串行控制台。
目前不支持对单个虚拟机运行并发 VNC 连接。 |
您可以使用桌面查看器和远程桌面协议 (RDP) 连接到 Windows 虚拟机 (VM)。
您可以使用 OpenShift Container Platform Web 控制台连接到 Windows 虚拟机 (VM) 的桌面查看器。
您已在 Windows VM 上安装了 QEMU 客户机代理。
您已安装 RDP 客户端。
在**虚拟化** → **虚拟机**页面上,点击一台虚拟机以打开**虚拟机详情**页面。
点击**控制台**选项卡。VNC 控制台会话将自动启动。
点击**断开连接**以结束 VNC 控制台会话。否则,VNC 控制台会话将继续在后台运行。
从控制台列表中选择**桌面查看器**。
点击**创建 RDP 服务**以打开**RDP 服务**对话框。
选择**公开 RDP 服务**,然后点击**保存**以创建节点端口服务。
点击**启动远程桌面**以下载.rdp
文件并启动桌面查看器。