0
点赞
收藏
分享

微信扫一扫

一键部署OpenStack(DevStack)

本文介绍如何使用DevStack 脚本一键部署一个OpenStack-ALL-IN-ONE 的环境。

一、实验环境

实验平台:PNETLAB 5.3.11

实验拓扑:

一键部署OpenStack(DevStack)_OpenStack

因为DevStack 脚本会从Github 以及一些国外的服务器的远程仓库上拉取软件包,因为众所周知的原因,所以为了让脚本能够顺利执行,需要在OpenStack 安装的过程中为这个节点提供国际互联网服务,那么图中的openwrt 节点就是做这项工作的,由于特殊原因,我就不把openwrt 以及他的配置过程写上来了,懂的都懂,八仙过海各显神通。Cloud0 为openstack 节点提供互联网服务,Cloud1 作为openstack 的管理网络。

另外,openstack 节点初始状态下使用的是已经制作好的Rocky 9.3 镜像,如果不清楚如何在EVE-NG/PNETLAB 环境中制作镜像可以参考上期的文章,附上链接:EVE-NG/PNET制作镜像_qq5f307408c7d48的技术博客_51CTO博客

网络规划:

节点

网口

IP地址

openwrt

e0

192.168.1.13/24

e1

192.168.100.1/24

openstack

e0

192.168.100.100/24

e1

172.26.1.100/24

二、开始部署

首先配置一下网卡:

[root@localhost ~]# nmcli con mod ens3 ipv4.method manual ipv4.addresses 192.168.100.100/24 ipv4.gateway 192.168.100.1 ipv4.dns 192.168.100.1 connection.autoconnect yes
[root@localhost ~]# nmcli con mod ens4 ipv4.method manual ipv4.addresses 172.26.1.100/24 connection.autoconnect yes
[root@localhost ~]# nmcli con up ens3
[root@localhost ~]# nmcli con up ens4

网络配置完成,现在可以用ssh 远程工具来连接 172.26.1.100 这个ip了。

DevStack 的项目地址:DevStack — DevStack documentation

我们参照官方的安装文档一步步来操作:

首先创建一个stack 用户:

# useradd -s /bin/bash -d /opt/stack -m stack

给予这个用户家目录可执行权限:

# chmod +x /opt/stack

配置sudo 提权:

# echo "stack ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/stack

切换到这个用户登录:

# sudo -u stack -i

官方这里漏了一步:安装git:

$ sudo yum -y install git

下载DevStack:

$ git clone https://opendev.org/openstack/devstack
$ cd devstack

创建一个local.conf 文件:

[stack@localhost devstack]$ vim local.conf
[[local|localrc]]
HOST_IP=172.26.1.100
ADMIN_PASSWORD=secret
DATABASE_PASSWORD=$ADMIN_PASSWORD
RABBIT_PASSWORD=$ADMIN_PASSWORD
SERVICE_PASSWORD=$ADMIN_PASSWORD

这里跟官方文档稍微有一点不一样,添加了一行HOST_IP,如果不指定,默认使用执行脚本时使用的网卡ip。

开始部署:

[stack@localhost devstack]$ ./stack.sh

耐心等待安装完成,这个过程大概需要2.5 小时。

安装完成后,命令行窗口最后会显示Web 控制台的地址,先不要激动,官方埋了两个雷,需要我们手动排一下:

第一个雷:如果你直接打开浏览器访问web 控制台的地址,会发现是无法访问到的,iptables 需要加一条规则放行http 的流量:

[root@localhost ~]# iptables -I INPUT -p tcp --dport 80 -j ACCEPT
[root@localhost ~]# service iptables-save

第二个雷:当你把第一个雷排了以后,就可以访问到web 控制台了,但是如果你一重启节点,就会发现web 控制台访问出错,因为memcached 这个服务没有设置开机自启动:

[root@localhost ~]# systemctl enable --now memcached.service

排了这两个雷以后,就可以reboot 重启节点了。

三、访问验证

我们来验证一下web 控制台访问:

访问地址:http://172.26.1.100/dashboard

一键部署OpenStack(DevStack)_OpenStack_02

管理员用户:admin

默认密码就是在local.conf 文件里面ADMIN_PASSWORD那一行所指定的:secret

一键部署OpenStack(DevStack)_一键部署_03

一键部署OpenStack(DevStack)_一键部署_04

好的,那么到此,一个OpenStack-ALL-IN-ONE 的环境就已经部署完成了。

举报

相关推荐

0 条评论