【部署】docker创建Webvirtmgr容器
2021年02月18日 17:22:38 作者:Jiaozn 分类:虚拟化 评论(0)链接:https://hub.docker.com/r/unws/webvirtmgr/
Webvirtmgr Dockerfile
拉起镜像并创建webvirtmgr用户和组(注意uid和guid必须为1010和容器内保持一致)
1 2 3 4 | docker pull primiano /docker-webvirtmgr sudo groupadd -g 1010 webvirtmgr sudo useradd -u 1010 -g webvirtmgr -s /sbin/nologin -d /data/vm webvirtmgr sudo chown -R webvirtmgr:webvirtmgr /data/vm |
运行容器
1 | docker run -d -p 8080:8080 -p 6080:6080 --name webvirtmgr - v /data/vm : /data/vm primiano /docker-webvirtmgr |
安装完成后,需要进入容器,执行:
1 | sed -i 's/172.17.42.1/0.0.0.0/g' /webvirtmgr/vrtManager/create .py |
修改后才能用noVNC连接。
在被管理的宿主机上做如下配置
libvirtd configuration on the host
1、不存在则手动创建
1 2 3 | cat /etc/default/libvirt-bin start_libvirtd= "yes" libvirtd_opts= "-d -l" |
2、其中:
listen_addr推荐0.0.0.0,监听所有网卡
unix_sock_group为kvm主机的libvirt/libvirtd组,可用cat /etc/group查看,默认管理用户为root,如宿主机使用非root用户,可以修改unix_sock_group = "对应用户组"
1 2 3 4 5 6 7 8 9 10 11 | cat /etc/libvirt/libvirtd .conf listen_tls = 0 listen_tcp = 1 listen_addr = "172.17.42.1" ## Address of docker0 veth on the host unix_sock_group = "libvirtd" unix_sock_ro_perms = "0777" unix_sock_rw_perms = "0770" auth_unix_ro = "none" auth_unix_rw = "none" auth_tcp = "none" auth_tls = "none" |
3、#号代表需要注释的地方
1 2 3 4 5 | cat /etc/libvirt/qemu .conf # This is obsolete. Listen addr specified in VM xml. # vnc_listen = "0.0.0.0" vnc_tls = 0 # vnc_password = "" |
4、重启libvirtd服务
1 | systemctl restart libvirtd |
5、
配置webvirtmgr
使用docker命令登录到webvirtmgr容器中,修改admin用户密码,初始密码为:admin/1234
1 2 | cd /webvirtmgr python manage.py changepassword admin |
6、切换至webvirtmgr用户
1 | su - webvirtmgr -s /bin/bash |
7、在webvirtmgr用户下,创建到kvm主机的免登录
1 2 3 | ssh -keygen touch ~/. ssh /config && echo -e "StrictHostKeyChecking=no\nUserKnownHostsFile=/dev/null" >> ~/. ssh /config chmod 0600 ~/. ssh /config |
8、然后copy到kvm主机
1 | ssh -copy- id root@192.168.122.100 |
登录webvirtmgr
打开浏览器,访问http://192.168.122.100:8080
输入用户密码即可
添加connection时,要保证已经配置容器中webvirtmgr用户到目标机用户的ssh免登录
注意:防火墙需要开放8080和6080,如开放端口后通过novnc连接kvm虚拟机仍提示连接超时,可尝试先关闭防火墙后重启容器再测试下是否可以正常通过novnc连接
由于在防火墙运行状态时,虚拟机xml配置文件中,vnc监听0.0.0.0时会导致novnc连接虚拟机失败,此时将listen监听改为本地即可
以上配置需要在虚拟机关机状态下修改
参考:https://www.jianshu.com/p/8be6b46843e5
https://blog.csdn.net/rariki/article/details/85156633
评论
发表评论