目录
搭建步骤
准备工作
正式部署OpenStack
安装的过程
安装组件如下
登录页面
进入首页
创建实例步骤
上传镜像
配置网络
服务器配置
dashboard配置
密钥配置免密登录
创建实例
绑定浮动ip
免密登录实例
搭建步骤
准备工作
1.关闭防火墙和网关
systemctl disable NetworkManager
systemctl disable firewalld
systemctl stop NetworkManager
systemctl stop firewalld
2.更换yum源
bash <(curl -sSL https://gitee.com/SuperManito/LinuxMirrors/raw/main/ChangeMirrors.sh)
- 选择中科大镜像源。
- 注意不要安装EPEL扩展源因为会导致稍后安装packstack失败,建议只更换基础源不要更换OpenStack相关的源避免后续在获取某些软件包时超时失败。
- 使用HTTP协议
- 更新软件包
- 清空已下载软件包缓存
最好就是选择“更新软件包”完成之后再执行一次
yum makecache
3.安装openstack-train源
yum install centos-release-openstack-train
4.安装packstack
yum install openstack-packstack
5.修改主机名
hostnamectl set-hostname packstack
exec bash
6.修改/etc/selinux/config禁用selinux
vi /etc/selinux/config
修改标红处
7.临时关闭selinux
setenforce 0
8.重启及创建快照
reboot
正式部署OpenStack
packstack --allinone
安装的过程
Clean Up [ DONE ]
Discovering ip protocol version [ DONE ]
Setting up ssh keys [ DONE ]
Preparing servers [ DONE ]
Pre installing Puppet and discovering hosts' details [ DONE ]
Preparing pre-install entries [ DONE ]
Setting up CACERT [ DONE ]
Preparing AMQP entries [ DONE ]
Preparing MariaDB entries [ DONE ]
Fixing Keystone LDAP config parameters to be undef if empty[ DONE ]
Preparing Keystone entries [ DONE ]
Preparing Glance entries [ DONE ] Shared Services共享服务
Checking if the Cinder server has a cinder-volumes vg[ DONE ]Storage 存储
Preparing Cinder entries [ DONE ]
Preparing Nova API entries [ DONE ]
Creating ssh keys for Nova migration [ DONE ]
Gathering ssh host keys for Nova migration [ DONE ]
Preparing Nova Compute entries [ DONE ]
Preparing Nova Scheduler entries [ DONE ]
Preparing Nova VNC Proxy entries [ DONE ]
Preparing OpenStack Network-related Nova entries [ DONE ]
Preparing Nova Common entries [ DONE ]Compute计算
Preparing Neutron LBaaS Agent entries [ DONE ]
Preparing Neutron API entries [ DONE ]Networking网络
Preparing Neutron L3 entries [ DONE ]
Preparing Neutron L2 Agent entries [ DONE ]
Preparing Neutron DHCP Agent entries [ DONE ]
Preparing Neutron Metering Agent entries [ DONE ]
Checking if NetworkManager is enabled and running [ DONE ]
Preparing OpenStack Client entries [ DONE ]
Preparing Horizon entries [ DONE ]Web frontends 网路的前端
Preparing Swift builder entries [ DONE ]
Preparing Swift proxy entries [ DONE ]
Preparing Swift storage entries [ DONE ] Storage存储
Preparing Gnocchi entries [ DONE ]
Preparing MongoDB entries [ DONE ]
Preparing Redis entries [ DONE ]
Preparing Ceilometer entries [ DONE ]
Preparing Aodh entries [ DONE ]
Preparing Puppet manifests [ DONE ]
Copying Puppet modules and manifests [ DONE ]
Applying 192.168.0.120_controller.pp
192.168.0.120_controller.pp: [ DONE ]
Applying 192.168.0.120_network.pp
192.168.0.120_network.pp: [ DONE ] 网络
Applying 192.168.0.120_compute.pp 计算
192.168.0.120_compute.pp: [ DONE ]
Applying Puppet manifests [ DONE ]
Finalizing [ DONE ]
如下图所示表示安装成功
安装组件如下
登录页面
访问openstack服务所部署的ip地址,自动跳转到登录页
用户名有两个,admin和demo
初始密码在安装目录下
cat keystonerc_admin
进入首页
创建实例步骤
上传镜像
选用CentOS7的这个镜像,你可以使用admin账号上传镜像并将“可见性”设置成“公有”
镜像下载地址:
# centos7
http://cloud.centos.org/centos/7/images/# ubuntu
http://cloud-images.ubuntu.com/focal/20220213/# windows
https://cloudbase.it/windows-cloud-images/#download
等待的时间可能较长,成功后如下
配置网络
服务器配置
网络的配置部分,我们需要修改网卡的配置还有桥接网桥的配置实现OpenStack实例访问外网
我的网卡是ens33,有的可能是ens192,与自己的保持一致即可
vi /etc/sysconfig/network-scripts/ifcfg-ens33
#ifcfg-ens33
TYPE=OVSPort
BOOTPROTO=none
NAME=ens33
DEVICE=ens33
ONBOOT=yes
DEVICETYPE=ovs
OVS_BRIDGE=br-ex
vi /etc/sysconfig/network-scripts/ifcfg-br-ex
TYPE=OVSBridge
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
NAME=br-ex
DEVICE=br-ex
ONBOOT=yes
IPADDR=192.168.25.24 #本机地址
GATEWAY=192.168.25.254 #服务器的网关,使用vmware的话在网络配置器可以看到
PREFIX=24
DNS1=8.8.8.8
DEVICETYPE=ovs
配置后重启网络
systemctl restart network
使用 ip addr命令检查网桥是否成功设置IP地址并能连通外网
dashboard配置
直接以admin身份登录
来到管理员选项卡中的网络-网络可以看到当前有两个项目,admin项目是外网,demo项目是其自有的私网,目前外网的子网网段不符合实际情况需要进行重新创建
来到管理员选项卡中的网络-路由可以看到默认demo项目已经有了一个路由绑定了外部网络,需要先对其删除才能重新创建public中的子网
回到管理员选项卡中的网络-网络,直接点击蓝色public进行子网的重新创建
先删除原子网
再点击创建子网
子网创建完成
重新创建demo项目的路由
退出当前账户,使用demo账户登录
进入网络-路由,点击刚刚重新创建的demo路由,给其添加一个接口用于私网用于连接外部网络
添加成功列表
进入网络-网络拓扑查看网络拓扑,检查是否内外网通过demo路由连接到一起,此为配置完成
为了Ping通和能够使用SSH登录到实例需要修改默认安全组规则
添加一个浮动IP用于绑定实例,通过这个浮动IP可以和实例进行关联,通过浮动ip进入该实例
名字尽量和实例对应
密钥配置免密登录
在计算选项卡导入宿主机的公钥/终端模拟软件生成的密钥用于SSH连接实例
这里导入宿主机的公钥,安装packstack时应该默认就已经自动生成了一个公钥,可以直接使用这个公钥
点击导入密钥,第一次导入的话不会报错,我之前已经导入过一次了。
创建实例
在计算-实例页面创建实例
点击创建实例完成创建。创建成功后列表如下
绑定浮动ip
选择当时创建的浮动ip,端口选择默认的。然后点击关联
列表如下,已经绑定浮动IP
免密登录实例
在openstack服务器中,通过ssh命令进入
ssh centos@192.168.25.133