Centos 8使用devstack快速安装openstack最新版
OpenStack介绍
openstack详细介绍及常用命令请查看此文
通过Packstack(RDO)部署OpenStack,官方文档点击此处查看
安装环境
-
工具:VMware Workstation 16 Pro
-
操作系统:CentOS 8.3
-
虚拟机配置:内存 8G、处理器 6C、磁盘 60G、开启虚拟化
基础配置
-
配置环境
编辑
vim /etc/environment
文件,添加以下内容LANG=en_US.utf-8 LC_ALL=en_US.utf-8
安装en_US.utf-8语言包
dnf install glibc-langpack-en -y
-
设置主机名并配置
/etc/hosts
文件修改主机名
hostnamectl set-hostname duanyd exec bash
使用echo命令,在/etc/hosts文件中添加本地解析,或者通过vim命令添加
echo -e "192.166.66.16\tduanyd" >> /etc/hosts
-
关闭防火墙并禁止开机自启
systemctl disable firewalld && systemctl stop firewalld
-
更换网络服务
在安装部署OpenStack时,OpenStack的网络服务会与NetworkManager服务产生冲突,二者无法一起正常工作,需要使用Network
# 安装Network服务 dnf install network-scripts -y # 停用NetworkManager并禁止开机自启 systemctl stop NetworkManager && systemctl disable NetworkManager # 启用 Network并设置开机自启 systemctl start network && systemctl enable network
-
设置静态IP(可选)
编辑网络配置文件
vim /etc/sysconfig/network-scripts/ifcfg-ens33
修改修改并添加以下内容
# 设为静态 BOOTPROTO=static # 设为开机自动连接 ONBOOT=yes # 添加IP、子网掩码及网关 IPADDR=192.166.66.16 NETMASK=255.255.255.0 GATEWAY=192.166.66.2
重启Network网络服务
# 重启网络服务 systemctl restart network # 测试是否可访问外网 ping -c 5 www.baidu.com
若更换静态IP与原IP不一致,或者禁用NetworkManager并启用Network后,直接重启网卡,IP会变化,远程连接工具会断开,需要查看IP后重新连接,IP变更也要同步修改本地解析中的IP地址
系统配置
-
将yum源换成华为源
wget -O /etc/yum.repos.d/CentOS-Base.repo https://repo.huaweicloud.com/repository/conf/CentOS-8-reg.repo dnf clean all && dnf makecache
-
将PyPI源换成华为源
# 新建.pip目录 mkdir .pip # 在.pip目录下创建pip.conf文件 vim .pip/pip.conf # 将以下内容填入pip.conf文件中 [global] index-url = https://repo.huaweicloud.com/repository/pypi/simple trusted-host = repo.huaweicloud.com
开始安装
-
安装前后可以先查看一下有木有安装pip和git
dnf install epel-release -y dnf install python3-pip git -y /usr/bin/python3.6 -m pip install --upgrade pip # 升级pip # 查看pip(V是大写) pip -V或pip3 -V # 查看git git --version
-
添加stack用户
# 新增stack用户 sudo useradd -s /bin/bash -d /opt/stack -m stack # 授予stack用户root权限 echo "stack ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/stack chmod -R 777 /opt/ # 切换到stack用户 sudo su - stack
-
下载devstack
# 使用git下载devstack git clone https://opendev.org/openstack/devstack # 下载完成后切换到devstack目录下 cd devstack
-
添加local.conf文件
# 在devstack根目录下添加local.conf文件 vim local.conf # 将以下内容添加到local.conf文件中 [[local|localrc]] ADMIN_PASSWORD=duanyd DATABASE_PASSWORD=$ADMIN_PASSWORD RABBIT_PASSWORD=$ADMIN_PASSWORD SERVICE_PASSWORD=$ADMIN_PASSWORD
-
开始安装
# 在devstack目录下执行stack.sh脚本 ./stack.sh
安装时间较长,请耐心等待,下图是安装完成页面,相应信息已给出
-
配置环境变量脚本
# 创建admin-openrc.sh文件 vim admin-openrc.sh # 添加以下信息,请根据实际情况修改密码及IP export OS_USERNAME=admin export OS_PASSWORD=duanyd export OS_PROJECT_NAME=admin export OS_USER_DOMAIN_NAME=Default export OS_PROJECT_DOMAIN_NAME=Default export OS_AUTH_URL=http://192.166.66.16/identity export OS_IDENTITY_API_VERSION=3
或者直接使用devstack目录下的openrc文件,
source openrc
或. openrc
验证
-
查看各服务状态
sudo systemctl status "devstack@*"
-
加载环境变量后,随便输入一些openstack命令
# 加载环境变量脚本 source admin-openrc.sh # 查看服务列表 nova service-list ……
-
创建实例
# 查看可用的网络 openstack network list # 查看可用安全组 openstack security group list # 创建实例 openstack server create --flavor m1.nano --image cirros-0.5.1-x86_64-disk --nic net-id=网络名称或ID --security-group 安全组名称或ID 实例名称
通过验证可以看到实例成功运行,各服务状态正常
-
通过浏览器访问IP地址查看是否能访问并登录成功
http://192.166.66.16/dashboard http://192.166.66.16 #或者直接输入IP
- 最后将httpd设为开机自启,否则重启服务器后openstack各服务会出现报错情况
systemctl restart httpd && systemctl ebable httpd
安装方式随简单,但是在祖国的庇护下,即使更换安装源很大概率也会失败,有VPN的可以自行尝试一下,也可以用公司的网络试试
其它方式安装可以参考这两篇文章
Centos 8安装部署openstack Victoria版
Centos 8中使用Packstack(RDO)快速安装openstack Victoria版
如果你之前看到过这篇文章,浏览器访问验证时,是无法访问的,原因是防火墙问题
当遇到如上图这种情况时,只有两种情况
- 服务未启动,导致无法访问
- 防火墙问题,未开放端口,或安全组未配置
这次遇到的情况是,Python路径问题导致防火墙异常
如上图
查看防火墙是关闭状态,但是启动时报错Failed to start firewalld - dynamic firewall daemon.
无法启动防火墙守护进程
解决办法:
# 找到防火墙
which firewalld
# 编辑防火墙配置
vim /usr/sbin/firewalld
#将第一行路径根据当前python版本进行修改,可以直接修改为硬链接
#!/usr/libexec/platform-python3.6 #前面的#和!要保留
之后重启防火墙,状态正常后关闭防火墙并禁止开机自启,然后就可以远程访问啦!
其它方式安装可以参考这三篇文章
Centos 8中使用Packstack(RDO)快速安装openstack Victoria版
Centos 8安装部署openstack Victoria版
Ubuntu 20使用devstack快速安装openstack最新版