- 前言
- 一、使用Docker部署
- 二、使用步骤
- 1.打开WebVirtCloud地址
- 2.配置节点
- 创建虚拟机
- 总结
前言
目前关于WebVirtCloud搭建和使用教程在网上很少,我自己搭建的时候就踩了很多坑,翻来覆去整了3~4天,之间也想过换方案,但是好在还是成功了,所以写一篇文章来记录完整的部署,以及部署完成后创建虚拟机的全部流程。
请注意,本文章的全部流程基于centos 7.6,并且默认你已经完成了KVM,QEUM,以及libvirt的安装
这些安装网上已经有完整的教程,本文不再赘述
如果你是ubuntu,可能会有部分差异,需要自己研究一下
本篇教程的环境:
物理机:
CPU:E5-2620V3 * 2
内存:96G
硬盘:2T HDD
网络:5M
一、使用Docker部署
使用docker部署的方式更方便快捷,直接在宿主机部署
docker本身如何安装就不在文章内赘述了
拉取镜像
docker pull mplx/docker-webvirtcloud:latest
启动docker容器,将WebVirtCloud部署在 8080 端口
docker run -d -p 8080:80 -v /srv/webvirtcloud/data:/srv/webvirtcloud/data -v /srv/webvirtcloud/ssh:/var/www/.ssh --name webvirtcloud mplx/docker-webvirtcloud:latest
启动完成后,查看容器ID
docker ps
可以从结果中看到容器ID为 825f77b18607
复制Container ID
通过容器ID进入容器的bash,来配置SSH
docker exec -i -t 825f77b18607 /bin/bash
进入容器之后,生成密钥
ssh-keygen
注意:输入上面的指令后啥都不用管,一路enter就行
然后把生成的SSH密钥复制,加权限
touch /var/www/.ssh/config && echo -e "StrictHostKeyChecking=nonUserKnownHostsFile=/dev/null" >> /var/www/.ssh/config chmod 0600 /var/www/.ssh/config
然后输入exit 退出容器,回到宿主机
exit
接下来新增用户,并添加权限组
sudo adduser webvirtmgr sudo passwd webvirtmgr sudo usermod -G libvirt -a webvirtmgr
接下来查看一下宿主机的内网IP
ifconfig
如示例的本机是192.168.122.1,记住这个ip,后面要用
完成后,再次进入容器
将ssh密钥复制给刚才创建好的用户,注意IP为上一步的内网IP
docker exec -i -t 825f77b18607 /bin/bash ssh-copy-id webvirtmgr@192.168.122.1
配置好之后,可以测试一下连通性
先推出容器,然后执行下面的命令
docker exec -i -t 825f77b18607 /sbin/setuser www-data ssh webvirtmgr@192.168.122.1
如果结果如下图所属,即为正常
到这部署就完成了,下面开始使用了
http://你的宿主机:8080
如图所示
默认账号密码为
admin
admin
注意更改密码
进入computes
默认进来应该是什么都没有的
图中的server是我已经设置好的,无视掉
点击右侧绿色的加号新加计算节点
会弹出上图中的框
点击SSH链接
label 随便填什么都可以,我们可以填写 server
FQDN/IP 填宿主机的内网IP,如本机是刚才用 ifconfig 查询到的 192.168.122.1
Username 填写刚才创建的用户 webvirtmgr
Details 不用管
点击Add就添加完成了
然后点击上方Instance标签
画红圈的地方没有任何报错提示就是正常的了,
如果有类似Host key报错,则说明SSH配置有问题,请翻到最上面检查哪一步没做
如果一切正常,就说明可以创建虚拟机了,
但是别急,我们在创建虚拟机之前,需要先配置虚拟机的存储目录,和ISO的目录
回到Computes标签
点击图中的地方跳转到节点配置页面
如果你能正常的看到这个页面,则说明一切正常
接下来点击Storages标签
我们需要在这里配置两个,一个是ISO的存储目录,一个是所有虚拟机的存储目录
点击右侧的绿色加号
第一个先添加DIR的
name就填DIR就行
path具体根据你的硬盘挂载来决定,本文的宿主机是个2T的硬盘,所以就直接使用默认的了
点击create创建
再次点击绿色加号创建ISO目录
点击create创建
创建完成后如下图所示即为成功
刚才我们创建ISO的存储目录是 /var/www/webvirtmgr/images
接下来我们往这个目录里上传一个centos7的ISO
上传完成后如下图所示
会显示出来
如果你成功的做到了这里,说明一切准备就绪了,接下来就可以搭建虚拟机了
创建虚拟机回到Instances标签
点击绿色加号创建虚拟机
根据实际情况选择一个,我们这里选择4核16G的
name填写一下,其他的默认
点击create
此时instances里面就会显示出刚才创建的虚拟机
点击名称即可进入管理页面
这时候虚拟机还未安装系统,我们需要给虚拟机安装系统
点击Setting->Disk
选中刚才上传的ISO,然后点击mount
准备就绪后,我们就要开始安装系统
回到Power标签,点击power start开机
完成后如下图所示
因为本文安装的是无UI界面的centos,所以需要用VNC来安装虚拟机的操作系统
WebVirtCloud 会给每一个虚拟机一个VNC,端口号从5900开始,依次递增
例如第一台虚拟机的VNC地址就是 192.168.122.1:5900
第二台就是 192.168.122.1:5901
我们在电脑里下载一个VNC Viewer,连接宿主机的公网IP:5900既可以链接VNC
登录之后即可正常的安装虚拟机
请注意这里有个坑,正常安装完成系统之后,会自动重启,你可能会再次进入到安装界面,这是因为我们又进入了安装流程,这个时候我们需要先把虚拟机关机,然后在Settings->Disk里面,把ISO取消mount,因为现在已经系统安装完成了,然后去Boot里面把vda-slave1.img优先级调到最高,如下图所示
一切完成之后,就可以正常登录虚拟机了!
如果虚拟机是windows系统的,需要安装netkvm驱动才能正常联网,具体可以看下面的文章解决
https://blog.51cto.com/u_15329153/4598066
整体感觉WebVirtCloud还不够完善,官方的Github上wiki内容也非常少,很多步骤都需要自己去摸索,里面暗坑也不少,折腾了3~4天我才搞定整个流程,希望这篇文章能对你有所帮助吧!



