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.repodnf 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/simpletrusted-host = repo.huaweicloud.com
开始安装
- 安装前后可以先查看一下有木有安装pip和git
dnf install epel-release -ydnf install python3-pip git -y/usr/bin/python3.6 -m pip install --upgrade pip # 升级pip# 查看pip(V是大写)pip -V或pip3 -V# 查看gitgit --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/stackchmod -R 777 /opt/# 切换到stack用户sudo su - stack
- 下载devstack
# 使用git下载devstackgit clone https://opendev.org/openstack/devstack# 下载完成后切换到devstack目录下cd devstack
- 添加local.conf文件
# 在devstack根目录下添加local.conf文件vim local.conf# 将以下内容添加到local.conf文件中[[local|localrc]]ADMIN_PASSWORD=duanydDATABASE_PASSWORD=$ADMIN_PASSWORDRABBIT_PASSWORD=$ADMIN_PASSWORDSERVICE_PASSWORD=$ADMIN_PASSWORD
- 开始安装
# 在devstack目录下执行stack.sh脚本./stack.sh
安装时间较长,请耐心等待,下图是安装完成页面,相应信息已给出
- 配置环境变量脚本
# 创建admin-openrc.sh文件vim admin-openrc.sh# 添加以下信息,请根据实际情况修改密码及IPexport OS_USERNAME=adminexport OS_PASSWORD=duanydexport OS_PROJECT_NAME=adminexport OS_USER_DOMAIN_NAME=Defaultexport OS_PROJECT_DOMAIN_NAME=Defaultexport OS_AUTH_URL=http://192.166.66.16/identityexport 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/dashboardhttp://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最新版
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/309065.html