目录
搭建步骤
准备工作
正式部署OpenStack
安装的过程
安装组件如下
登录页面
进入首页
创建实例步骤
上传镜像
配置网络
服务器配置
dashboard配置
密钥配置免密登录
创建实例
绑定浮动ip
免密登录实例
搭建步骤
准备工作
1.关闭防火墙和网关
systemctl disable NetworkManagersystemctl disable firewalldsystemctl stop NetworkManagersystemctl 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 packstackexec 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.pp192.168.0.120_controller.pp: [ DONE ]Applying 192.168.0.120_network.pp192.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-exTYPE=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