使用Devstack安装单点Openstack
参考文档docs.openstack.org Centos7.2 安装devstack S版 安装devstack中遇到的一些问题整理
环境配置
虚拟主机为最小化安装的centos7.7(内存尽量不低于4G),IP地址为:192.168.10.61(尽量不要安装多余的包)
关闭selinux
关闭防火墙
同步时间
配置阿里源官网文档地址
安装epel源
下载etcd包(无法自动完成下载,会卡住)
下载地址需要按照提示更改具体版本,将安装包存放到/PATH/devstack/files目录下
添加openstack运行用户并分配权限
useradd -s /bin/bash -d /opt/stack -m stack echo "stack ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/stack
为用户家目录赋予权限
切换所创建的用户(不带环境切换)
下载devstack
git clone https://git.trystack.cn/openstack-dev/devstack --branch stable/ocata #--branch stable/queens 指定版本为ocata
创建local.conf文件,指定安装时的配置项
[[local|localrc]] ADMIN_PASSWORD=secret DATABASE_PASSWORD=$ADMIN_PASSWORD RABBIT_PASSWORD=$ADMIN_PASSWORD SERVICE_PASSWORD=$ADMIN_PASSWORD GIT_BASE=http://git.trystack.cn #使用trystack源 NOVNC_REPO=http://git.trystack.cn/kanaka/noVNC.git SPICE_REPO=http://git.trystack.cn/git/spice/spice-html5.git HOST_IP=192.168.10.61 #此处为虚拟机IP DOWNLOAD_DEFAULT_IMAGES=False IMAGE_URLS=http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img KEYSTONE_BRANCH=stable/ocata #指定keystone的版本与devstack版本保持一致 NOVA_BRANCH=stable/ocata #nova同上 NEUTRON_BRANCH=stable/ocata #neutron同上 SWIFT_BRANCH=stable/ocata #swift同上 GLANCE_BRANCH=stable/ocata #glance同上 CINDER_BRANCH=stable/ocata #cinder同上 LOGDAYS=2 SWIFT_REPLICAS=1 SWIFT_DATA_DIR=$DEST/data
为pip指定国内的阿里源
[global] index-url=http://mirrors.aliyun.com/pypi/simple/ trusted-host=mirrors.aliyun.com timeout=6000
执行安装脚本
安装完成
连接图形化界面管理平台
使用脚本安装步骤十分简单,但由于网络环境以及python3不能兼容python2等问题会导致安装过程中出现许多安装包的依赖冲突以及无法自动完成下载,总结了一下安装过程中遇到的问题
无法安装libibverbs导致退出
解决方法:手动安装libibverbs出现错误提示pip版本过低
解决方法pip无法自动完成下载时手动下载
pip无法自动升级
enum34自动安装到最新版本时与当前python版本不匹配(类似的冲突有多个包,使用相同的方法解决)
解决方法:手动安装时指定旧版本
自动通过pip卸载再更新时由于依赖无法完成卸载
解决方法:手动更新
相同情况的还有sqlalchemy、virtualenv等(virtualenv在重新开始执行./stack.sh时会经常出现错误,重新执行pip install后直接执行./stack.sh)
使用浏览器连接时无法连接清空iptables规则
注:客户机防火墙此时处于关闭状态
由于网络问题会导致安装包经常性下载失败,可以尝试重试或手动安装