前言
《Kolla安装OpenStack多节点》一文中,使用kolla安装了三个节点的openstack。
因为实验需要,现在需要再添加一个计算节点。那么问题来了,怎样在不破坏现有环境的基础上,添加一个新的计算节点呢?本文就来研究一下。
新节点配置
网络设置
在新添加的计算节点上,执行以下操作:
1、切换到root用户sudo -i
2、vim /etc/network/interfaces
,设置网卡为:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.56.113
netmask 255.255.255.0
auto eth1
iface eth1 inet dhcp
auto eth2
iface eth2 inet manual
up ifconfig $IFACE 0.0.0.0 up
up ifconfig $IFACE promisc
3、启用网卡ifup eth2
4、修改/etc/hosts,添加:1
2
3
4192.168.56.110 controller
192.168.56.111 network
192.168.56.112 compute
192.168.56.113 compute2
python
安装pythonapt -y install python-simplejson
不安装的话,在使用ansible的时候会报错/bin/sh: 1: /usr/bin/python: not found。
安装docker
1、安装dockerapt -y install docker.io
2、为docker和kolla创建配置文件1
2mkdir -p /etc/systemd/system/docker.service.d
vim /etc/systemd/system/docker.service.d/kolla.conf
修改为:1
2[Service]
MountFlags=shared
3、重启docker1
2systemctl daemon-reload
systemctl restart docker
4、查看docker信息docker info
密钥登录
1、在控制节点将公钥写入新的计算节点1
ssh-copy-id -i .ssh/id_rsa.pub -p 22 voidking@192.168.56.11
2、在新的计算节点把voidking用户添加进sudo免密,方便以后的操作sudo vim /etc/sudoers
,添加
1 | voidking ALL = NOPASSWD: ALL |
控制节点配置
1、配置multinode文件vim multinode
,如下修改:
1 | # line 3, change |
2、测试连通ansible -i multinode -m ping all
3、拷贝kolla.tar到新计算节点scp kolla.tar voidking@192.168.56.113:~
4、在新计算节点导入所有imagesdocker load -i kolla.tar
5、在控制节点执行初始化kolla-ansible -i ./multinode bootstrap-servers
报错如图:
参考《Ubuntu16使用Kolla安装OpenStack》解决。
6、预检查kolla-ansible -i ./multinode prechecks
7、部署kolla-ansible -i ./multinode deploy
报错,创建数据库失败。解决办法:取消multinode文件中control节点的注释,然后重新执行部署。kolla-ansible -i ./multinode deploy --limit @/usr/local/share/kolla-ansible/ansible/site.retry
实际上,site.retry文件里面放的是一个单纯的IP地址192.168.56.113
。
如上图,等待几分钟后,出现部署成功的提示。
测试使用
新的问题来了,上面的操作显示新的计算节点部署成功,那么,安装过程中有没有对原系统产生影响?我们来测试查看一下。
1、使admin环境生效source /etc/kolla/admin-openrc.sh
2、查看计算服务openstack compute service list
如上图,此时已经有了两个计算节点。
3、查看以前的实例openstack server list
之前的实例还在,没有受到影响,nice。
后记
上面的步骤,完美添加了一个新的计算节点,前提是《Kolla安装OpenStack多节点》一文中的globals.yml等配置文件保持不变。
我很好奇,如果主机清单multinode中的110、111、112三个节点没有添加注释,会不会对它们进行重新安装。于是,我把注释取消,执行了一次kolla-ansible -i ./multinode deploy
。实践证明,没啥影响。那么,如果从bootstrap-servers开始执行呢?依次执行bootstrap-servers、prechecks、deploy三条命令会不会重装?于是,先执行bootstrap-servers。然后,卡在了时间同步,卡了一个钟头,遂Ctrl+C放弃。算了算了,不探究了,如无必要勿增实体,还是把精力放在更重要的事情上。