天天看點

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

kvm虛拟機_CentOS7下使用noVNC和websockify連接配接QEMU/KVM虛拟機

2、安裝noVNC

yum install novnc

會自動安裝python-websockify

kvm虛拟機_CentOS7下使用noVNC和websockify連接配接QEMU/KVM虛拟機

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 []:[email protected]

kvm虛拟機_CentOS7下使用noVNC和websockify連接配接QEMU/KVM虛拟機

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

kvm虛拟機_CentOS7下使用noVNC和websockify連接配接QEMU/KVM虛拟機

4、啟動Websockify

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

kvm虛拟機_CentOS7下使用noVNC和websockify連接配接QEMU/KVM虛拟機

5、浏覽器登入noVNC

https://172.16.30.78:6080/

kvm虛拟機_CentOS7下使用noVNC和websockify連接配接QEMU/KVM虛拟機
kvm虛拟機_CentOS7下使用noVNC和websockify連接配接QEMU/KVM虛拟機
kvm虛拟機_CentOS7下使用noVNC和websockify連接配接QEMU/KVM虛拟機

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

kvm虛拟機_CentOS7下使用noVNC和websockify連接配接QEMU/KVM虛拟機

3、啟動websockify,加載token配置檔案

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

kvm虛拟機_CentOS7下使用noVNC和websockify連接配接QEMU/KVM虛拟機

4、使用token方式通路兩個不同kvm

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

kvm虛拟機_CentOS7下使用noVNC和websockify連接配接QEMU/KVM虛拟機

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

kvm虛拟機_CentOS7下使用noVNC和websockify連接配接QEMU/KVM虛拟機

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

截圖如下

kvm虛拟機_CentOS7下使用noVNC和websockify連接配接QEMU/KVM虛拟機
kvm虛拟機_CentOS7下使用noVNC和websockify連接配接QEMU/KVM虛拟機

本文參考連結 https://my.oschina.net/u/2336787/blog/1797709

繼續閱讀