很多新手在入门OpenStack时往往会被复杂的部署步骤所困扰,如何快速拥有一个openstack实验环境呢,我选择packstack,虽然是上古年间的工具,但是不得不说,真香~~~
1、实验环境
注意:环境是VMware虚拟机搭建的,ens33是nat模式,ens34是仅主机模式,本次实验使用212网段为管理ip,211网段为公网(假装)ip,用作访问外网
2、配置yum源。
习惯使用国内的源(阿里),因为比较快
http://mirrors.aliyun.com/repo/ 供君选用
先安装好wget
yum -y install wget
删除/etc/yum.repos.d/* 实验环境删除比较方便,生产环境推荐备份
下载国内centos yum源
wget http://mirrors.aliyun.com/repo/Centos-7.repo
本次安装openstack rocky版
阿里云开源镜像站
https://mirrors.aliyun.com/centos/7/cloud/x86_64/
选择自己需要的版本
创建并编辑
/etc/yum.repos.d/openstack-rocky.repo
[openstack]
name=openstack
baseurl=https://mirrors.aliyun.com/centos/7/cloud/x86_64/openstack-rocky/
gpgcheck=0
failovermethod=priority ####(有多个url可供选择时,yum选择的次序,详情见http://www.t086.com/article/5015)
enabled=1
因为在安装过程中会报错qemu版本过低,所以还需要配置qemu的源
https://mirrors.aliyun.com/centos/7/virt/x86_64/kvm-common/
创建并编辑
/etc/yum.repos.d/CentOS-qemu.repo
[centos-qemu-ev]
name=qemu
baseurl=https://mirrors.aliyun.com/centos/7/virt/x86_64/kvm-common/
gpgcheck=0
enabled=1
完成后清除yum源缓存并重新生成本地缓存,如果第一次有报错可以再执行一次
yum clean all && yum makecache
将node1节点也配置成同样的源即可
3、配置firewalld,selinux(所有节点)
如果是大佬,可以对firewalld和selinux规则进行详细配置,不然就全关上。
firewalld:systemctl stop firewalld && systemctl disable firewalld
selinux:setenforce 0(临时生效)或者sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config,重启机器
4、配置hosts文件,并配置时钟同步(强同步,简单,生产环境不推荐 )
hosts文件,向所有/etc/hosts文件写入
192.168.211.60 packstack
192.168.211.61 node1
时钟同步服务(此同步方式仅是节点间同步,并未与互联网同步,只适用于实验环境)
packstack节点,安装ntp服务
yum -y install ntp
编辑/etc/ntp.conf
注释掉
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
添加
server 127.127.1.0
fudge 127.127.1.0 stratum 10
启动ntp服务并开机自启动
systemctl start ntpd && systemctl enable ntpd
node1节点安装ntpdate
ntpdate packstack
5、安装packstack并配置应答文件(从第五步开始,只在packstack做配置)
这个时候,做个快照什么的,简直美滋滋
yum -y install openstack-packstack
生成应答文件
packstack --gen-answer-file=filename 文件名字可以随便起
执行完此命令后,会提示更改了你的ssh公钥,我们只需要把公钥拷贝到node1节点就可以实现免密登录了
ssh-copy-id node1
配置packstack应答文件
把不需要安装的功能都否掉
CONFIG_MANILA_INSTALL=n
CONFIG_SWIFT_INSTALL=n
CONFIG_AODH_INSTALL=n
规划节点
CONFIG_CONTROLLER_HOST=192.168.212.60
CONFIG_COMPUTE_HOSTS=192.168.212.61
CONFIG_NETWORK_HOSTS=192.168.212.60
修改所有密码
使用工具安装,密码是随机生成的 实验环境不方便 所以我们把密码统一改成000000
sed -i.bak -r 's/(.+_PW)=[0-9a-z]+/\1=000000/g' deploy.conf
6、开始部署
packstack --answer-file=deploy.conf
此时可以喝杯茶,或者吃个饭,完事就可以看到安装完成的openstack了
完成后即可在浏览器打开http://192.168.212.60访问dashboard
7、配置网络
创建br-ex网桥配置
创建并编辑/etc/sysconfig/network-scripts/ifcfg-br-ex
DEVICE=br-ex
ONBOOT=yes
DEVICETYPE=ovs
TYPE=OVSBridge
BOOTPROTO=static
IPADDR=192.168.211.60
NETMASK=255.255.255.0
GATEWAY=192.168.211.1
将ens33网卡桥接到br-ex上去
修改/etc/sysconfig/network-scripts/ifcfg-ens33
DEVICE=ens33
ONBOOT=yes
DEVICETYPE=ovs
TYPE=OVSPort
BOOTPROTO=yes
OVS_BRIDGE=br-ex
桥接完成后查看网卡信息,会发现ens33已经没有了ip地址,ip转移到了br-ex网桥上
通过dashboard创建外部网络(选择简单的flat类型)
创建租户网络
创建租户路由
为路由添加接口到刚刚创建的子网上
创建完成后查看网络拓扑
因为packstack测试镜像cirros都已经下好了 现在就可以愉快的启动实例了
曾经被openstack的网络搞的头皮发麻,这里发一下简单的流量走向,请大佬不喜勿喷,如有错误请大佬指点