通过 noVNC 访问 kubevirt中的 vmi

本文详细介绍了如何通过noVNC在网页上访问kubevirt虚拟机实例(VMI)。首先,解释了kubevirt VNC原理和存在的访问限制。接着,讨论了kubevirt web-ui项目的局限性。然后,重点介绍了noVNC项目,包括其工作原理和所需软件。文中还给出了在kubernetes环境中安装、配置和使用noVNC的具体步骤,以便绕过授权问题实现VMI的Web访问。
摘要由CSDN通过智能技术生成

目的

以 VNC 的方法连接到 VMI
启用 noNVC 方法, 利用网页就可以对 VMI 进行访问

kubevirt vnc 原理

kubernetes 启动 POD ( virt-launcher ) 启动 VMI
virt-launcher 定义了 VMI 的硬件,信息, 如 CPU, 内存,中断, 接口等, 同时也定义了 VNC 的使用方式
virt-launcher 使用了参数 -vnc unix:xxxx.socket 方法启动 VMI
unix:xxxx.socket 导致了无法完成外部 VNC 直接访问到 VMI 中
kubectl virt vnc vmi-name (图形界面下) 命令行允许通过 vnc 方法连接到 VMI 中
kubernetes 获取了用户授权, 并且访问一个固定的 ENDPOINT 获取了 vnc 的 socket 数据连接方法
endpoint: wss://serviceip:port/apis/subresources.kubevirt.io/v1alpha3/namespaces/{namespace}/virtualmachineinstances/{VMIname}/vnc

kubevirt web-ui 项目

该项目提供了一种 WEB 的方法进行访问 VMI 的 VNC
该项目只提供了 openshift 的接口
那么普通的 kubernetes 用户(例如我) 就无法使用到该项目完成通过 WEB 方法访问到 VMI 的 VNC

其他问题

当前 VMI 打开了 wss 协议提供 vnc 访问连接
但由于无法获取到 kubernetes 授权
因此无法直接通过 ngingx http_proxy 方法通过访问 endpoint (wss://xxxxx) 完成 vnc 访问

noVNC 项目

一款开源的 vnc 代理项目
可以通过网页访问到主机 VNC

原理

[外链图片转存失败(img-gFneW4Kv-1568283878380)(.

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Terry_Tsang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值