KVM-wok+kimchi管理界面

1、kvm虚拟机如何批量管理

1.1、专用工具

wok+kimchi 搭配实现一个kvm的web界面管理平台。
Wok基于cherrypy的web框架,可以通过一些插件来进行扩展,例如:虚拟化管理、主机管理、系统管理。

Kimchi是一个基于HTML5的KVM管理工具,是Wok的一个插件,通过Kimchi可以更方便的管理KVM
github地址:https://github.com/kimchi-project

Ovirt 一个开源的虚拟化管理平台,是redhat 虚拟化管理平台RHEV的开源版本。
官方地址:https://www.ovirt.org/

Proxmox 一款套开源的虚拟化管理软件,用户可通过网页的方式来管理服务器上使用 kvm等虚拟机。
官方地址:https://www.proxmox.com/en/

1.2、平台工具

OpenStack、CloudStack、Eucalptus、OpenNebula、等等

2、wok+kimchi安装

2.1、环境准备

2.1.1、依赖环境

apt install -y python3-configobj python3-lxml python3-magic python3-paramiko python3-ldap \
spice-html5 novnc qemu-kvm python3-libvirt python3-parted python3-guestfs python3-pil \
python3-cherrypy3 libvirt0 libvirt-daemon-system libvirt-clients nfs-common sosreport \
open-iscsi libguestfs-tools libnl-route-3-dev python3-cheetah gcc make autoconf automake \
git python3-pip python3-requests python3-mock gettext pkgconf xsltproc python3-dev pep8 python3-yaml

2.1.2、确认是否安装完成

root@localhost:~# which kvm-ok
/usr/sbin/kvm-ok

2.1.3、更新python库

apt-get -y remove python3-cherrypy3
pip3 install  cherrypy ethtool python-pam psutil jsonschema  --break-system-packages -i https://pypi.douban.com/simple/

2.4、安装wok

2.4.1、下载软件

cd /tmp
wget https://github.com/kimchi-project/wok/archive/3.0.0.tar.gz
tar -zxvf 3.0.0.tar.gz
cd wok-3.0.0

2.4.2、编译安装软件

sudo ./autogen.sh --system
make && make install && make deb
apt install -y ./wok-3.0.0-0.ubuntu.noarch.deb

2.4.3、检查服务是否启动

systemctl status wokd.service
netstat -tunlp | grep 8010

2.5、安装 kimchi

2.5.1、下载软件

cd /tmp
git clone https://github.com/kimchi-project/kimchi kimchi
tar xvf kimchi.tar.gz && cd kimchi

2.5.2、编译安装软件

 ./autogen.sh --system && make && make install && make deb
apt install ./kimchi-3.0.0-13.git36ed74be.noarch.deb

2.5.3、重启workd

systemctl daemon-reload
systemctl restart wokd.service
netstat -tnulp | grep 8010

2.6、安装并且配置apache

2.6.1、安装apache

apt install -y apache2

2.6.2、加载模块

touch /etc/wok/plugins.d/__pycache__.conf
a2enmod ssl
a2enmod rewrite
a2enmod proxy
a2enmod proxy_http
a2enmod proxy_connect
systemctl restart apache2
systemctl reload apache2

2.6.3、配置apache

cat <<- __EOF__ > /etc/apache2/sites-available/kimchi.conf
Listen 8001
Listen 8000
<VirtualHost *:8001>
 ErrorLog /var/log/apache2/error_log
 TransferLog /var/log/apache2/access_log
 Timeout 600
 LimitRequestBody 4294967296
 SSLEngine on
 SSLCertificateFile /etc/wok/wok-cert.pem
 SSLCertificateKeyFile /etc/wok/wok-key.pem
 SSLSessionCacheTimeout 600
 RewriteEngine On
 RewriteCond %{HTTP:Upgrade} =websocket [NC]
 RewriteRule /(.*) ws://localhost:64667/$1 [P,L]
 ProxyPass /websockify http://127.0.0.1:64667/websockify
 ProxyPassReverse /websockify http://127.0.0.1:64667/websockify
 ProxyPass / http://127.0.0.1:8010/
 ProxyPassReverse / http://127.0.0.1:8010/
</VirtualHost>
<VirtualHost *:8000>
 ErrorLog /var/log/apache2/error_log
 TransferLog /var/log/apache2/access_log
 RewriteEngine On
 RewriteRule ^/(.*)$ https://%{SERVER_NAME}:8001/$1 [R]
</VirtualHost>
__EOF__

2.6.4、kimchi配置加载到apache

cd /etc/apache2/sites-enabled/
sudo ln -s ../sites-available/kimchi.conf kimchi.conf

2.6.5、apache重启

systemctl restart apache2.service
systemctl status apache2.service

2.7、访问测试

http://192.168.10.21:8001/login.html
注意:这里用的登录信息是 当前系统的登录账号和密码登信息。

 

 

posted @ 2023-05-23 09:31  小粉优化大师  阅读(402)  评论(0编辑  收藏  举报