一、使用本地仓库离线安装
1、系统基本环境设置
# 临时关闭SELinux(当前会话生效,重启后失效)
# SELinux是Linux的安全增强机制,临时关闭可避免其对程序运行的限制
setenforce 0
# 永久禁用SELinux(重启后生效)
# 通过sed命令修改SELinux配置文件,将SELINUX=enforcing替换为SELINUX=disabled
# /etc/selinux/config是SELinux的核心配置文件
sed -i '/^SELINUX=/s/enforcing/disabled/' /etc/selinux/config
# 临时停止firewalld防火墙服务(当前会话生效)
systemctl stop firewalld
# 永久禁用firewalld防火墙服务(开机不再自动启动)
systemctl disable firewalld
# 临时停止NetworkManager服务(网络管理工具,常用于桌面环境)
# 在服务器环境中,有时会用传统network服务替代,故关闭此服务
systemctl stop NetworkManager
# 永久禁用NetworkManager服务(开机不再自动启动)
systemctl disable NetworkManager
# 将主机名设置为openstack
hostnamectl set-hostname openstack
# 重新加载bash环境(使主机名等配置立即生效,无需重启shell)
bash
# 向/etc/hosts文件添加一行记录,将IP 192.168.10.201与主机名openstack绑定
# 作用是实现本地域名解析,无需依赖DNS服务器
echo '192.168.10.201 openstack'>>/etc/hosts
# 向内核参数配置文件添加IP转发功能的配置
# net.ipv4.ip_forward = 1表示开启IPv4转发,常用于网关服务器或需要路由转发的场景(如OpenStack网络节点)
echo "net.ipv4.ip_forward = 1">> /etc/sysctl.conf
# 立即加载/etc/sysctl.conf中的配置,使内核参数生效(无需重启)
sysctl -p
2、为系统设置本地仓库
2.1、编辑 CentOS-Base.repo 文件相关
# 使用 vim 文本编辑器打开 /etc/yum.repos.d/CentOS-Base.repo 文件,准备编辑 yum 仓库配置
vim /etc/yum.repos.d/CentOS-Base.repo
# 定义一个名为 [Virt] 的 yum 仓库段,yum 仓库配置通过中括号区分不同仓库段
[Virt]
# 仓库的名称,$releasever 是系统变量,会自动替换为 CentOS 的版本号,这里表示 CentOS 基础仓库(Virt 相关)
name=CentOS-$releasever - Base
# 仓库的基础 URL,指定从阿里云镜像获取 CentOS 7.9.2009 版本中 virt 相关、x86_64 架构、kvm-common 部分的软件包
baseurl=http://mirrors.aliyun.com/centos/7.9.2009/virt/x86_64/kvm-common/
# 关闭 GPG 检查,GPG 检查用于验证软件包来源合法性,设为 0 表示不进行校验(生产环境建议开启并配置正确密钥保障安全)
gpgcheck=0
2.2、编辑 train.repo 文件相关
# 使用 vim 打开 /etc/yum.repos.d/train.repo 文件,配置新的 yum 仓库
vim /etc/yum.repos.d/train.repo
# 定义名为 [train] 的 yum 仓库段
[train]
# 仓库名称,标识为 centos-train
name=centos-train
# 仓库基础 URL,从阿里云镜像获取 CentOS 7 版本中 cloud 相关、x86_64 架构、openstack-train 部分的软件包
baseurl=https://mirrors.aliyun.com/centos/7/cloud/x86_64/openstack-train/
# 关闭 GPG 检查,理由同前面
gpgcheck=0
# 启用该仓库,设为 1 表示在 yum 操作时会使用这个仓库的配置去查找、安装软件包
enabled=1
2.3、yum 缓存相关操作
# 清理 yum 的所有缓存,包括元数据缓存等,让 yum 重新获取最新的仓库信息,避免旧缓存影响
yum clean all
# 构建 yum 缓存,即从配置的仓库地址下载元数据并缓存到本地,这样后续使用 yum 安装、更新软件时可以更快获取信息
yum makecache
3、安装部署工具
yum -y install openstack-packstack
rm -rf /etc/yum.repos.d/elrepo.repo
4、一键安装
packstack --allinone
5、设置桥接网络
cd /etc/sysconfig/network-scripts/
cp ifcfg-ens33 ifcfg-br-ex
vim ifcfg-br-ex
###编辑内容###
TYPE=OVSBridge
DEVICETYPE=ovs
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
IPADDR=192.168.10.201
NETMASK=255.255.255.0
GATEWAY=192.168.10.254
DNS1=114.114.114.114
DNS2=8.8.8.8
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=br-ex
#UUID=986ae28e-97c2-47c1-b08d-0b3f061473b4
DEVICE=br-ex
ONBOOT=yes
vim ifcfg-ens33
###编辑内容###
TYPE=OVSPort
DEVICETYPE=ovs
OVS_BRIDGE=br-ex
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
#IPADDR=192.168.10.201
#NETMASK=255.255.255.0
#GATEWAY=192.168.10.254
#DNS1=114.114.114.114
#DNS2=8.8.8.8
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
#UUID=986ae28e-97c2-47c1-b08d-0b3f061473b4
DEVICE=ens33
ONBOOT=yes
6、重启网卡
systemctl restart network
二、创建云机
1、登录
修改密码: