单个机部署 all in one
1. 修改yum源
vim /etc/yum.repos.d/CentOS-Base.repo
使用科大的源
修改之后更新缓存
yum makecache
2. 安装 git
yum install git
3. 获取 devstack
将 devstack clone 到 /home/devstack 下
可以直接指定版本部署 这里我用Ocata版本
git clone http://git.trystack.cn/openstack-dev/devstack -b stable/Ocate
切换分支
如果需要使用特定版本需要 切换分支,建议使用稳定版本
git branch # 查看本地分支
git branch -a # 查看在线分支
git checkout stable/rocky # 切换分支
4. 创建 Stack 用户
- 使用 devstack 提供的工具创建一个 stack 用户
cd /home/devstack/tools/
./create-stack-user.sh
- 给用户 stack 赋予权限
chown -R stack:stack /home/devstack
chmod 777 /opt/stack -R
echo "stack ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/stack
- 切换至 stack 用户
su stack
5. 配置文件 local.conf:
在 /home/devstack/samples/
中有 local.conf 的示例
可以根据自己的需求修改后放到 /home/devstack/
下
下面是我的:(可能不完善)
[[local|localrc]]
ADMIN_PASSWORD=secret
DATABASE_PASSWORD=$ADMIN_PASSWORD
RABBIT_PASSWORD=$ADMIN_PASSWORD
SERVICE_PASSWORD=$ADMIN_PASSWORD
LOGFILE=$DEST/logs/stack.sh.log
LOGDAYS=2
SWIFT_HASH=66a3d6b56c1f479c8b4e70ab5c2000f5
SWIFT_REPLICAS=1
SWIFT_DATA_DIR=$DEST/data
# only support IP v4
SERVICE_IP_VERSION=4
HOST_IP=192.168.179.183
# use TryStack git mirror
GIT_BASE=http://git.trystack.cn
NOVNC_REPO=http://git.trystack.cn/kanaka/noVNC.git
SPICE_REPO=http://git.trystack.cn/git/spice/spice-html5.git
6. 开始安装
./stack.sh
7. 安装成功
8. 登陆 dashboard
登陆之前得做一些事
1. 打开 httpd
systemctl status httpd #查看下状态
2. 查看端口占用
netstat -antlp | grep 80
3. 关机后重启
service httpd restart
iptables -F (虚机每次重启都要执行)
- 停止防火墙
systemctl stop firewalld.service
- 禁止firewall开机启动
systemctl disable firewalld.service
- 关闭SELINUX。修改配置文件,设为disabled
vi /etc/selinux/config
SELINUX=disabled
参考:https://www.jianshu.com/p/64a3d0404ff2
当然安装的时候很少会一帆风顺
可能出现的问题
- 在centos 7 系统中部署
1. ERROR Cannot uninstall **
ERROR: Cannot uninstall ‘virtualenv’. It is a distutils installed project and thus we cannot accurately determine which files belong to
it which would lead to only a partial uninstall.
解决办法:通过命令强制更新
sudo pip install --ignore-installed virtualenv
可能会遇到的其他 uninstall
virtualenv,ply, ipaddress,enum34,ippaddr
2. ERROR 版本不匹配
ERROR: flake8 2.6.2 has requirement pycodestyle<2.1,>=2.0, but you’ll
have pycodestyle 2.5.0 which is incompatible.
解决办法:指定版本安装
pip install pycodestyle==2.0
PS:如果发现报错依赖的某个包的版本不对,你安装的正确版本后,./stack.sh开始安装,但是版本又回退到错误的版本上去了,就需要修改以下文件:
/opt/stack/requirements/upper-constraints.txt
在这个文件中找到要改版本的哪一行,将后面的版本改正确。
3. 修改yum源
使用科大的yum源
4. 更改pip源
使用豆瓣的yum源
5. 镜像下载缓慢
为了加快下载镜像的速度,可用在运行devstack之前 先把要使用的镜像下载下来,下载后可以直接放在devstack/files
中
当前主要使⽤用的镜像:
Nova: http://download.cirros-cloud.net/0.3.4/cirros-0.3.4- x86_64-uec.tar.gz
Heat: https://dl.fedoraproject.org/pub/fedora/linux/releases/ 20/Images/x86_64/Fedora-x86_64-20-20131211.1-sda.qcow2
Trove: http://tarballs.openstack.org/trove/images/ubuntu/ mysql.qcow2
注意:如果下载不了 就要 ”翻qiang“ 下载了
参考博文:https://blog.csdn.net/u011521019/article/details/51114681
6. python 版本问题
ERROR: InterpreterNotFound:python3
- 解决方法:安装python3
参考博文:https://blog.csdn.net/elija940818/article/details/79238813
7. 升级pip
sudo pip install --upgrade pip
pip从9手动升级至18.1之后,执行安装脚本./stack.sh
后会被降级
每次失败出现requirements
相关信息,均是因为pip版本过低,重新升级pip之后,再次执行安装脚本
- 升级后
sudo vim /opt/stack/devstack/tools/install_pip.sh
由于已经安装了pip,可以直接在devstack/tools目录下,找到install_pip.py,注释掉install_get_pip这个函数调用。
8.
有待解决··· ···
其他问题
- 下载缓慢,甚至timeout的时候
默认Devstack会从github下载所有需要的代码,包括OpenStack。这其实是导致Devstack安装时间太长
git clone http://git.trystack.cn/openstack/cinder.git /opt/stack/cinder --branch stable/ocata
# 超时
参考博文: https://blog.csdn.net/u011521019/article/details/51114681
https://blog.csdn.net/cpf945/article/details/102614217
Ubuntu系统安装
- 使用 Ubuntu18.04(LTS) + OpenStack Queens
参考博文: https://blog.csdn.net/JN_rainbow/article/details/84293223
其他 自动化安装openstack 方法
-
packstack
参考:https://newptone.gitbooks.io/deployopenstackwithpuppet/content/deployment_tool/packstack.html
-
fuel