前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CentOS7下使用noVNC和websockify连接QEMU/KVM虚拟机

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

作者头像
yuanfan2012
发布2020-05-26 10:15:54
3K0
发布2020-05-26 10:15:54
举报
文章被收录于专栏:WalkingCloudWalkingCloud

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源配置

代码语言:javascript
复制
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

2、安装noVNC

代码语言:javascript
复制
yum install novnc

会自动安装python-websockify

3、openssl生成证书

代码语言:javascript
复制
#创建证书存放目录
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

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

代码语言:javascript
复制
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

4、启动Websockify

代码语言:javascript
复制
websockify -D --web=/usr/share/novnc/ --cert=/etc/novnc/ssl/novnc.pem 6080 0.0.0.0:7799

5、浏览器登录noVNC

https://172.16.30.78:6080/

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

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

代码语言:javascript
复制
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文件

代码语言:javascript
复制
cd /usr/share/novnc/
mkdir conf
vi kvm.conf
aliyun: 0.0.0.0:7799
centos: 0.0.0.0:7800

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

代码语言:javascript
复制
websockify -D --web=/usr/share/novnc/ --cert=/etc/novnc/ssl/novnc.pem 6080  --target-config=/usr/share/novnc/conf/kvm.conf

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

代码语言:javascript
复制
https://172.16.30.78:6080/vnc_auto.html?port=6080&path=/conf?token=aliyun
代码语言:javascript
复制
https://172.16.30.78:6080/vnc_auto.html?port=6080&path=/conf?token=centos

PS:Wok+Kimchi

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

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

代码语言:javascript
复制
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

截图如下

本文参考链接 https://my.oschina.net/u/2336787/blog/1797709

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-05-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 WalkingCloud 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • CentOS7下使用noVNC和websockify连接QEMU/KVM虚拟机
  • noVNC介绍
    • 下面介绍安装noVNC并使用noVNC连接KVM虚拟机的vnc界面
    • 1、yum的EPEL源配置
    • 2、安装noVNC
    • 3、openssl生成证书
    • 3、例如先virt-install的方式安装了KVM虚拟机一台
    • 4、启动Websockify
    • 5、浏览器登录noVNC
    • 6、实现一对多:一个端口,多个代理
      • 1、比如再新建一个kvm虚拟机,用于测试
        • 2、配置token文件
          • 3、启动websockify,加载token配置文件
            • 4、使用token方式访问两个不同kvm
            • PS:Wok+Kimchi
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档