opesntack tranning labs提供了一种在桌面环境中部署虚拟化OpenStack的简便方法。Training Labs支持所有现代Linux,Windows和macOS平台。在运行Training Labs之前,您需要安装VirtualBox或KVM / libvirt。将压缩文件解压缩到一个文件夹,并准备一键部署您自己的OpenStack Training Labs群集。
下载地址:https://docs.openstack.org/training_labs/
说明文档:https://wiki.openstack.org/wiki/Documentation/training-labs#Building_the_cluster
安装准备
安装和测试方法,参考华为《HCIP-Cloud_Computing-OpenStack_V1.0_实验手册》
测试方法,使用x86服务器,服务器品牌为二手HP,硬盘500G,4路CPU,40G内存,单千兆网卡,地址为172.31.208.31/24。安装unbuntu18.04LTS,使用virtualbox5.2,openstack-labs版本为Stein,以下为推荐的实验环境
组网说明
实验环境在服务器上安装 ubuntu操作系统,并在ubuntu上安装virtualBox软件,通过openstack自动化安装脚本在 virtualbox中部署openstack实验环境,包括一个controller节点和一个compute节点
ubuntu配置
在完成ubuntu18操作使用图形化界面的(gnome)系统安装后,我们需要进更新软件源和开启远程桌面登陆的配置
默认ubuntu没有root密码,同时没有SSH服务等,默认是不允许root用户进行ssh登陆。都需要自行配置
sudo passwd #创建root密码
sudo apt-get install openssh-server # 安装ssh服务
sudo systemctl start ssh #开启SSH
sudo systemctl enble ssh
sudo systemctl stop ufw #关闭防火墙
sudo systemcll disable ufw
为了加快软件下载,需要配置国内软件源
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak #备份软件源
sudo gedit /etc/sources.list #编辑
在文件最前面添加
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
保存后,更新系统
sudo apt-get update
sudo apt-get upgrade
耐心等待更新完毕
接下来,使用xrdp开启远程登陆。
sudo apt install xrdp
编辑配置文件
sudo vim /etc/xrdp/startwm.sh
把最下面的test和exec两行注释掉,添加一行
gnome-session
然后再ubuntu设置开启共享
配置屏幕共享
配置完成后,重启ubuntu。然后就可以使用windows 远程桌面登陆
如下所示:
然后配置virtualbox
推荐直接使用unbuntu的gnome软件商店搜索下载
下载完毕后确认是否安装
sudo dpkg-query -l virtualbox
安装opesntack-labs
通过运行openstack自动化安装脚本,在virtualbox中完成openstack安装。
openstack的controller节点和compute节点均为ubuntu操作系统(脚本安装过程中,会自动下拉Ubuntu操作系统镜像文件,并为ubuntu自动创建两个虚拟机网卡
vboxnet0:10.0.0.1/24
vboxnet1:203.0.113.1/24
流程如下:
首先,下载openstack,访问https://docs.openstack.org/training_labs/
下载完毕后,保存到桌面
然后解压
sudo tar -xvf labs-master.tgz
解压后,目录结构如下所示:
为了避免openstack环境资不足,打开配置文件config.compute1,按照如下修改
sudo cd labs
sudo vim labs/config/config.compute1
然后安装python
sudo apt install python
完成后,进入/labs目录,运行st.py脚本
cd labs
./st.py -b cluster
如果安装过程中出现报错,先尝试再运行一次脚本,若还是出现问题,可以在/labs/log下查看相应的日志文件,排除问题后,再一次运行脚本
等待系统自动在virtualbox中安装openstack,此过程大概需要3个小时左右。直到出现如下信息,代表安装成功
出现的结果代表了实验环境的默认登陆信息。
碰到的问题
在安装的过程中,会卡“ERROR vm_ssh:Aborting",如下所示:
查询了下官网文档,https://wiki.openstack.org/wiki/Documentation/training-labs#Building_the_cluster,下面有相关使用virtualbox构建集群的说明
大意是控制节点和计算节点在virtualbox使用ssh协议的tcp2230和2232进行通讯,我怀疑是ssh协议登陆没有获取到对方的密钥所致。
所以我尝试了以下
ssh -p 2230 osbash@localhost #密码osbash
然后再次运行openstack安装脚本,居然就没有卡在这里。问题解决了
真神奇
更新:
后来在部署的时候反复出现计算节点compute1无法安装成功后来查询到,这是一个bug,具体原因未知。后来在国外论坛上查到相关的bug描述,帖子地址如下:
https://bugs.launchpad.net/labs/+bug/1803819
我总结了以下,和查询了一些 stackoverflow文档,这个大概是python2的subproccess模块在调用shell命令出现的bug,现象就是使用ssh命令后会抛出异常,有一定的出现几率
我采用用下面的方法
即手动上传SSH密钥和相关配置文件到controller和compute节点
做法是:
在第一次部署失败后,在重新运行安装脚本的时候手动从宿主机使用ssh分别上传到controller和compute节点
ssh -q -i /home/yangchao/labs/lib/osbash-ssh-keys/osbash_key -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o ConnectTimeout=10 -o ControlPath=none -p 2230 osbash@127.0.0.1 mkdir -p autostart && ssh -q -i /home/yangchao/labs/lib/osbash-ssh-keys/osbash_key -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o ConnectTimeout=10 -o ControlPath=none -p 2232 osbash@127.0.0.1 mkdir -p autostart
注意,一定是安装脚本运行期间,多次运行以上命令,因为controller和compute节点会在重新运行部署脚本的时候重启并且配置虚拟网络
完成后如下:
此时在宿主机上浏览器输入http://127.0.0.1:8888/horizon进入openstack的dashboard,同时可以正常创建实例
登陆controller节点,可以检查nova服务运行正常,compute节点已经添加
ssh osbash@127.0.0.1 -p 2230 #登陆controller节点,密码osbash
. admin-openrc.sh #导入openstack环境变量以使用opnstack命令
nova service-list #检查controller节点和compute节点nova服务状态
记住,只有宿主机本机才能登陆openstack