CentOS7下使用noVNC和websockify连接QEMU/KVM虚拟机

简介: CentOS7下使用noVNC和websockify连接QEMU/KVM虚拟机

CentOS7下使用noVNC和websockify连接QEMU/KVM虚拟机


noVNC介绍


VNC的客户端很多,比如VNC Viewer、TightVNC、RealVNC、UltraVNC等VNC的客户端,可以使用SSH以及VNC的方式来登录及管理QEMU、KVM、libvirt虚拟机, 那有没有通过Web的方式去登录及管理QEMU、KVM、libvirt虚拟机呢,noVNC就是其中一种方案。


noVNC是基于HTML5技术的VNC 客户端,支持手机浏览器(iOS 和 Android) noVNC 使用代理器websockify连接到QEMU


下面介绍安装noVNC并使用noVNC连接KVM虚拟机的vnc界面

1、yum的EPEL源配置


wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.cloud.tencent.com/repo/epel-7.repo


640.jpg

2、安装noVNC


yum install novnc


会自动安装python-websockify


640.jpg

3、openssl生成证书


#创建证书存放目录
mkdir -p /etc/novnc/ssl
#openssl命令生成证书
openssl req -x509 -nodes -newkey rsa:2048 -keyout novnc.pem -out novnc.pem -days 365
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:ZheJiang
Locality Name (eg, city) [Default City]:HangZhou
Organization Name (eg, company) [Default Company Ltd]:walkingcloud
Organizational Unit Name (eg, section) []:IT
Common Name (eg, your name or your server's hostname) []:kvm.walkingcloud.cn
Email Address []:yuanfan2012@126.com

640.jpg


3、例如先virt-install的方式安装了KVM虚机一


virt-install --virt-type kvm --name AliyunLinux --ram 4096 --vcpus=4  --import   --disk path=/data/aliyun_2_1903_x64_20G_alibase_20200324.nocloud.qcow2,format=qcow2,bus=virtio  --disk path=/data/seed.img,format=raw,bus=virtio  --network network=default,model=virtio  --graphics vnc,listen=0.0.0.0,port=7799  --os-type=linux


640.jpg

4、启动Websockify


websockify -D --web=/usr/share/novnc/ --cert=/etc/novnc/ssl/novnc.pem 6080 0.0.0.0:7799

640.jpg

5、浏览器登录noVNC


https://172.16.30.78:6080/


640.jpg640.jpg

640.jpg

6、实现一对多:一个端口,多个代理


1、比如再新建一个kvm虚拟机,用于测试


virt-install --virt-type kvm --name CentOS --ram 2048 --vcpus=4  --import   --disk path=/opt/aliyun_2_1903_x64_20G_alibase_20200324.nocloud.qcow2,format=qcow2,bus=virtio  --disk path=/opt/seed.img,format=raw,bus=virtio  --network network=default,model=virtio  --graphics vnc,listen=0.0.0.0,port=7800  --os-type=linux

2、配置token文件


cd /usr/share/novnc/
mkdir conf
vi kvm.conf
aliyun: 0.0.0.0:7799
centos: 0.0.0.0:7800


640.jpg

3、启动websockify,加载token配置文件


websockify -D --web=/usr/share/novnc/ --cert=/etc/novnc/ssl/novnc.pem 6080  --target-config=/usr/share/novnc/conf/kvm.conf

640.jpg


4、使用token方式访问两个不同kvm


https://172.16.30.78:6080/vnc_auto.html?port=6080&path=/conf?token=aliyun


640.jpg

https://172.16.30.78:6080/vnc_auto.html?port=6080&path=/conf?token=centos


640.jpg

PS:Wok+Kimchi


Wok基于cherrypy的web框架,可以通过一些插件来进行扩展,例如:虚拟化管理、主机管理、系统管理。它可以在任何支持HTML5的网页浏览器中运行。Kimchi是一个基于HTML5的KVM管理工具,是Wok的一个插件(使用Kimchi前一定要先安装了wok),通过Kimchi可以更方便的管理KVM。github地址:https://github.com/kimchi-project


安装方式如下,可以自行尝试


wget https://github.com/kimchi-project/wok/releases/download/2.5.0/wok-2.5.0-0.el7.centos.noarch.rpm
wget https://github.com/kimchi-project/kimchi/releases/download/2.5.0/kimchi-2.5.0-0.el7.centos.noarch.rpm
yum install wok-2.5.0-0.el7.centos.noarch.rpm
yum install kimchi-2.5.0-0.el7.centos.noarch.rpm
systemctl daemon-reload
systemctl start wokd
systemctl enable wokd


截图如下


640.png

640.png



相关文章
|
1月前
|
安全 虚拟化 数据中心
Xshell 连接 VMware虚拟机操作 截图和使用
Xshell 连接 VMware虚拟机操作 截图和使用
51 4
|
2月前
|
Unix Linux 开发工具
centos的官网下载和vm16虚拟机安装centos8【保姆级教程图解】
本文详细介绍了如何在官网下载CentOS 8以及在VMware Workstation Pro 16虚拟机上安装CentOS 8的步骤,包括可能出现的问题和解决方案,如vcpu-0错误的处理方法。
centos的官网下载和vm16虚拟机安装centos8【保姆级教程图解】
|
1月前
|
Linux 网络安全
Linux虚拟机与主机和Xshell的连接问题解决
Linux虚拟机与主机和Xshell的连接问题解决
79 1
|
1月前
|
存储 Linux 开发者
虚拟机centos7.9一键部署docker
本文介绍了如何在 CentOS 7.9 虚拟机上安装 Docker 社区版 (Docker-ce-20.10.20)。通过使用阿里云镜像源,利用 `wget` 下载并配置 Docker-ce 的 YUM 仓库文件,然后通过 `yum` 命令完成安装。安装后,通过 `systemctl` 设置 Docker 开机自启并启动 Docker 服务。最后,使用 `docker version` 验证安装成功,并展示了客户端与服务器的版本信息。文中还提供了列出所有可用 Docker-ce 版本的命令。
191 0
虚拟机centos7.9一键部署docker
|
2月前
|
KVM 虚拟化
KVM虚拟机的桥接网络
文章主要介绍了KVM虚拟机的NAT和桥接网络类型的工作原理、配置方法以及如何进行网络模式的切换。
45 3
KVM虚拟机的桥接网络
|
2月前
|
KVM 虚拟化
KVM虚拟机的热迁移
这篇文章详细介绍了KVM虚拟机的热迁移过程,包括临时迁移和永久迁移的步骤,以及可能遇到的故障和解决方案。
114 1
KVM虚拟机的热迁移
|
1月前
|
监控 应用服务中间件 nginx
详细解释容器以及虚拟机centos7.9容器化部署基础服务(容器化部署nginx)
容器是一种轻量级、可移植的软件打包和隔离技术,将应用程序及其依赖项打包,确保在任何环境中一致运行。容器共享主机操作系统内核,相比虚拟机更高效、轻量,具有快速启动和高资源利用率的特点。容器的关键技术包括命名空间(如 PID、NET 等)、控制组(cgroups)和联合文件系统(UnionFS)。使用容器可以提高开发和部署效率,简化管理,确保环境一致性。例如,在 CentOS 7.9 上部署 Nginx 时,可以通过 Docker 下载和运行 `nginx:1.20` 镜像,并通过端口映射使外部请求访问 Nginx 服务。此外,还可以将测试页面复制到容器中,进一步验证容器的功能。
|
2月前
|
KVM 虚拟化 数据安全/隐私保护
KVM虚拟机安装实战
本文讲述了如何创建并使用VNC连接KVM虚拟机的详细教程,包括安装图解和命令行参数说明。
116 8
|
2月前
|
KVM 虚拟化
KVM虚拟机的冷迁移
这篇文章详细描述了KVM虚拟机的冷迁移过程,包括无依赖环境迁移、有链接克隆虚拟机迁移、多块磁盘迁移的案例,以及可能遇到的错误和解决方案。
99 3
下一篇
无影云桌面