这里写目录标题
- 材料准备
- 为什么选择packstack
- 安装
- 静态ip
- 系统配置
- 使用阿里云yum源
- 安装packstack
- 部署openstack
材料准备
- ecs云服务器8核心16g内存一台,系统盘100GB,系统CentOS7.9
- vpc网段:192.168.0.1/24
- eip一个,带宽5M以上
为什么选择packstack
对openstack兼容性最好,每年给openstack社区提交代码最多的依然是红帽公司。所以做openstack虚拟化,用红帽系列linux系统最合适,华为的openeuler系统兼容CentOS的原因就在此。packstack适合在一台主机上部署全部openstack,只需要一个网口。
安装
静态ip
yum -y update
systemctl enable network.service --now
# 禁用NetworkManager
systemctl disable NetworkManager --now# 查看网口设备名,默认网卡名称是eth0
ip a# 修改为静态ip
vim /etc/sysconfig/network-scripts/ifcfg-eth0
---------------------------------------------------
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=eui64
NAME=eth0
DEVICE=eth0
ONBOOT=yes
IPADDR=192.168.0.11
PREFIX=24
GATEWAY=192.168.0.1# hosts文件
echo "192.168.0.11 openstack" >> /etc/hosts
系统配置
# 设置主机名为openstack
hostnamectl set-hostname openstack# 生成密钥
ssh-keygen -t rsa# 拷贝公钥到本机
ssh-copy-id root@127.0.0.1# 关闭防火墙
systemctl disable firewalld --now# 关闭selinux
setenforce 0
vim /etc/selinux/config
-----------------------------------------
SELINUX=disabled
使用阿里云yum源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
wget http://mirrors.aliyun.com/repo/Centos-7.repo -O /etc/yum.repos.d/CentOS-Base.repo
yum clean all
yum makecache
yum -y update# 安装一些包
yum -y install vim bash-completion yum-utils# 安装openstack源码包
yum search openstack
yum -y install centos-release-openstack-train# 修改openstack的repo文件地址,把mirrorlist替换成阿里云baseurl
cp -a /etc/yum.repos.d/CentOS-OpenStack-train.repo /etc/yum.repos.d/CentOS-OpenStack-train.repo.bak
vim /etc/yum.repos.d/CentOS-OpenStack-train.repo
-----------------------------------------------------
# 把[centos-openstack-train]中mirrorlist一行注释掉,然后放开baseurl
# 修改baseurl如下
baseurl=http://mirrors.aliyun.com/$contentdir/$releasever/cloud/$basearch/openstack-train/# 更新缓存
yum clean all && yum makecache
安装packstack
yum install -y openstack-packstack
部署openstack
一键式部署
packstack --allinone
安装过程中缺少leatherman_curl.so文件需要自行解决
应答文件式部署
# 生产部署文件
packstack --gen-answer-file /root/openstack-answer.ini# 修改文件中的几个参数
CONFIG_HEAT_INSTALL=y #安装heat模板服务
CONFIG_PROVISION_DEMO=n #我们不要提供的demo项目
CONFIG_KEYSTONE_ADMIN_PW=123456 #设置登陆密码
CONFIG_NEUTRON_OVN_BRIDGE_IFACES=br-ex:eth0 # 设置openstack外网br-ex桥接到哪个网卡# 最后根据每个服务器上的应答文件部署openstack
packstack --answer-file /root/openstack-answer.ini