容器集群有几台物理机,之前一直在物理机上运行,现在需要在上面安装虚拟机,通过虚拟机来运行容器。

为什么改为虚拟机运行?为了管理方便:升级,重启,同时减少故障、问题影响范围。

 

kvm虚拟机的运维,之前直接是用命令操作,机器少还好,多了就挺麻烦了,因此需要找一个管理工具。之前有用过Webvirtmgr,目前看到还是Webvirtmgr简单,适用。发现有docker版本,直接拿来使用

 

Webvirtmgr docker安装过程

可找一台独立的主机,专门用于管理kvm服务器:

$ docker pull primiano/docker-webvirtmgr

$ sudo groupadd -g 1010 webvirtmgr

$ sudo useradd -u 1010 -g webvirtmgr -s /sbin/nologin -d /var/webvirtmgr webvirtmgr

$ sudo chown -R webvirtmgr:webvirtmgr /var/webvirtmgr

使用:

$ docker run -d -p 8080:8080 -p 6080:6080 --name webvirtmgr -v /var/webvirtmgr:/data/vm primiano/docker-webvirtmgr

安装完成后,需要进入容器,执行:

sed -i 's/172.17.42.1/0.0.0.0/g' /webvirtmgr/vrtManager/create.py

修改后才能用noVNC连接。

访问IP+8080端口,初始密码是:admin/1234(从某个文件能找到)

 

如果从web连接虚拟机控制台有问题,在被管理的宿主机上安装novnc:

#安装novnc,可以用页面连接主机

yum install -y novnc

 

在KVM服务器上操作

0) yum install cyrus-sasl-md5 cyrus-sasl-devel

 

使用tcp进行对远程libvirtd进行连接访问的配置如下:

1)修改文件/etc/sysconfig/libvirtd,用来启用tcp的端口

[root@openstack ops]# cat /etc/sysconfig/libvirtd

........

LIBVIRTD_CONFIG=/etc/libvirt/libvirtd.conf

LIBVIRTD_ARGS="--listen"

2)修改文件/etc/libvirt/libvirtd.conf

[root@openstack ops]#vim /etc/libvirt/libvirtd.conf

vim /etc/libvirt/libvirtd.conf

listen_tcp=1 # 允许进行tcp监听

tcp_port="16509" # 服务端口

listen_addr="0.0.0.0" # socket监听时采用的IP,在此为在所有IP地址上进行监听, # 建议只配置到服务器的管理接口所在IP上进行监听

auth_tcp=sasl # 使用sasl进行认证

listen_tls=0 # 不使用tls进行监听,在不使用CA进行认证时一定要启该配置

 

3)编辑文件/etc/sasl2/libvirt.conf,将相关项修改为如下值

mech_list: digest-md5

sasldb_path: /etc/libvirt/passwd.db

# service libvirtd restart

 

4)设置认证用户密码,启动服务

# saslpasswd2 -a libvirt admin

#service libvirtd restart

 

5)验证:

virsh -c qemu+tcp://172.25.1.14/system nodeinfo

 

Webvirtmgr连接kvm管理

可参考网上教程~

比如:https://www.cnblogs.com/kevingrace/p/5739009.html

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐