使用Fuel快速部署openstack集群

阅读更多

1部署规划

Fuel节点:只是为了给其他节点部署OpenStack时使用,所以准备1台节点作为Fuel
Controller节点:openstack的管理节点,生产中要对该节点做HA的
Compute节点:openstack的计算节点,生产中要有多个计算节点的,在上面创建虚拟机实例
Storage节点:openstack的存储节点,生产中要做成存储集群,并且把对象存储和块存储分开不同的集群

节点名称
配置
网络
Ip地址
Fule
2G,50G磁盘
PXE网络
192.168.10.5
Collector
1G,50G磁盘
4个网卡
Fule分配
Computer
4G,50G磁盘
4个网卡
Fule分配
Storage
1G,50G磁盘
4个网卡
Fule分配

网络设备
网络类型
网段
所属节点
Vmnet1
PXE网络
192.168.10.0
All
Vmnet2
公网网络
192.168.20.0
All
Vmnet3
管理网络
192.168.30.0
All
Vmnet4
存储网络
192.168.40.0
All


VMware配置


我们只使用VMnet1、VMnet2、VMnet3、VMnet4这4个网络设备

2 安装Fuel

2.1 VMware创建Fuel节点

在windows上的VMware workstations上创建Fuel虚拟机
要点:
         1) 自定义配置
         2) linux系统
         3) 稍后安装操作系统
         4) HostOnly网络(其他也行)
         5) 内存先给8G(安装fuel之后再调小),安装速度快
         6)磁盘40G,可能只占用20G左右
创建完成之后给它添加Fuel的ISO镜像文件

2.2 启动Fuel节点

注意:启动Fuel节点进入欢迎界面之后就按Tab键

可以看到在下面给它指定ip地址,网关,主机名等,而且它也是通过ks.cfg文件安装的
下面给Fuel节点的网络设置如下:
Ip地址:192.168.10.5
网关地址:192.168.10.2
子网掩码:255.255.255.0
DNS:8.8.8.8
主机名:fuel.gyq.com


配置好之后,按回车就开始安装Fuel了

其实Fuel就是一个安装了openstack软件的Centoslinux系统,以后Fuel会使用Docker将它上面的OpenStack应用部署到与它通信的节点上。等待一会儿时间就可以安装完成

2.3 登录Fuel

2.3.1 登录Fuel节点

Fuel安装完成之后,可以看到提示信息:UI地址,root的密码,UI用户名和密码

提示了root用户的密码:r00tme,Fuel UI的用户名和密码:admin
使用root用户登录Fuel节点

登录成功可以看到Fuel节点主机名,正是我们配置的
查看网络
#ip addr

可以看到这么多网络设备信息
2.3.2 登录Fuel监控页面


安装完Fuel之后,可以看到提示Fuel UI的地址:http://192.168.10.5:8000,用户名和密码都是admin
在浏览器上访问:http:// 192.168.10.5:8000

Ok,可以成功的访问Fuel UI了
输入用户名和密码:admin

登录之后就看到了提示信息,取消Send usage statisitcs,点击 Start Using Fuel


2.4 新建OpenStack环境

点击新建OpenStack 环境

OpenStack版本,选择CentOS6.5,前进

我们只规划了1台openstack管理节点Controller,所以不选择HA多节点。

选择使用KVM,前进

选择Neutron GRE,

存储使用默认的,前进

暂不安装这些附加服务,前进

Ok,点击新建完成创建

现在,Fuel就等着其他节点连接它了
准备Openstack各个节点
3 启动openstack各节点

3.1 准备openstack各节点

在VMware中分别创建Controller、Computer、Storage三台虚拟机
注意:
         1) 三个节点都添加4张网卡,分别使用vmnet1,vmet2,vmnet3,vmnet4,它们都是Host Only模式
         2) 计算节点Computer上面以后要创建虚拟机实例,所以必须开启它的CPU支持硬件辅助虚拟化
         3) 三个节点都选择稍后安装操作系统,并且不给它添加ISO镜像文件,Fuel节点会给它安装最简OS
         4)必须保证4张网卡都是开机自启动的
Controller节点:
分配1G内存,50G磁盘,4张网卡,不添加系统镜像

Computer节点:
分配6G内存,50G磁盘,4张网卡,不添加系统镜像,并且开启CPU支持硬件辅助虚拟化

Storage节点:
分配1G内存,50G磁盘,4张网卡,不添加系统镜像

5) 每个节点的每张网卡都手动生产mac地址

这样是为了保证节点启动之后,4张网卡的mac地址不重复

3.2 启动openstack的三个节点

Fuel节点启动之后就启动了PXE的服务端,Fuel的ip地址是192.168.10.5,而openstack的这三个节点都有1个10网段的ip地址,所以这三个节点启动之后就会与Fuel节点的PXE服务通信,然后Fuel就会分别给它们按照一个操作最简系统,并给它们分配ip地址

在保证Fuel节点启动之后,再启动它们
3.2.1 启动Controller节点

启动Controller节点之后,它默认是通过网络启动发送广播信息给Fuel节点,fuel节点就使用PXE给它安装操作系统。
Collector节点启动完成

发现Controller节点启动报的一个错误,这是无法同步时间,我们没有连接网络所以不能同步,不用管它
可以看到,Fuel节点给Controller节点安装了操作系统
查看Fuel的UI界面,可以看到Fuel发现了1个节点

这个节点就是我们启动的Controller节点,下面接着启动Computer节点

3.2.2 启动Computer节点


Computer节点启动完成,时间不能同步没关系的
查看Fuel的UI

可以看到Fuel检测到了第2台节点,它就是我们启动的Computer节点
3.2.3 启动Storage节点


Ok,Storage节点也启动成功了,查看Fuel的UI界面

Fuel全部检测到了3个节点

4 Fuel增加节点

4.1 增加节点

4.1.1 增加Collector节点

点击” 增加节点”之后,mac地址后缀判断是那个节点

根据这个网卡的mac地址后两位来判断它是我们规划的哪个节点,然后就给它分配相应的角色,如f7:f1是Controller节点eth1网卡的mac地址最后2为,所以就给它分配Controller角色


点击“应用变更”

可以看到就把这个节点分配了Controller角色
4.1.2 增加Storage节点


经过查看得知3b:c8是Storage节点,我们给它分配Storage角色

点击“应用变更”

可以看到就把这个节点分配了Storage-Cinder角色

4.1.3 增加Computer节点


剩下的这个6G内存的节点就是我们规划的Computer节点


分配Compute角色,点击”应用变更”

可以看到就把这个节点分配了Compute角色

4.2 分配网络

对每个节点的每个网卡进行网络设置
4.2.1 计算节点Controller


选择Collector节点,点击上面的“网络配置”

把网卡类型拖到

点击应用

4.2.2

4.2.3
同样的反射

4.3 网络设置


4.3.1 公开网络


根据我们的网络规划,公网网络是Vmnet2设备地址:192.168.20.0
公开网络的IP范围是为了给openstack的其他服务节点分配的公网地址
CIDR是公网网络的网段和子网掩码
新建Openstack环境时,网络选择的是Nutron GRE它只支持tag,不支持Vlan所以不勾选
网关地址就是Vmnet2的ip地址
4.3.2 管理和存储网络


管理网络是使用Vmnet3网络设备,地址为:192.168.30.0
存储网络是使用VMnet4存储网络,地址为:192.168.40.0
4.3.3 内网和Floating IP


内网地址是给虚拟机实例分配的网络
Floating IP 范围是给openstack创建的虚拟机通过Neutron实现DNAT,给内部虚拟机floating ip地址
4.3.4 验证网络


点击“验证网络”

Ok,验证成功,点击“保存设置”
4.2.5 部署变更



点击部署变

点击部署

可以看到已经安装了4%

慢慢等待Fuel节点把openstack部署到这三个节点上…
5 openstack操作

5.1 登录openstack监控

Fuel部署完成之后,在监控界面可以看到以下提示


Deployment of environment 'my-openstack' is done. Access the OpenStack dashboard (Horizon) at http://192.168.20.2/ or via internal network athttp://192.168.10.2/
看到这样的提示,就说明Fuel已经成功部署openstack了,可以关闭Fuel节点了。
根据提示:访问http://192.168.20.2,就是openstack的监控界面

用户名和密码都是admin,登陆openstack


5.2 在openstack上创建实例

5.2.1 创建Instance

点击Project -> Compute ->instance

可以看到暂时没有任何的实例
1)点击”Launch Instance”创建实例


Availability Zone:是可用资源域,默认的资源域是nova
Flavor:相当于cloudstack中的计算方案,我们选择m1.micro这是最小的计算方案,可以看到内存只有64M
Instance Boot Source:实例镜像引导,我们选择系存储节点自带的image,只有TestVM。

2)点击”Access & Security”选项卡


选择默认安全组default
3)点击”Networking”


其中net04是内网网卡,net04_ext是外网网卡,我们只给这个实例添加个内网网络。
4) 点击“Post-Creation”


这里是配置创建的这台实例启动之后执行的脚本,我们暂时不执行任何脚本
5)点击”Advanced Options”


高级选项,配置磁盘自动分区,该选项是可选配置的
6)点击”Launch”启动实例


可以看到实例spark01正在创建,创建完成之后可以看到实例的信息

分配了内网ip地址:10.0.0.3,Power state是Running
在虚拟机的Actions选项中,点击Console

提示通过vnc连接不到它

5.2.2 给虚拟机分配外网ip地址

在实例spark01的Actions选项中点击”Associate Floating IP”

IP Address下拉列表中如果有已经获取的Floating IP就可以选择使用

如果下拉列表中没有ip地址,就点击右边的“+“,从Floating IP Range中获取1个ip地址
点击“+“

选择Pool,默认只有这一个net04_ext,它就是外网ip池。
点击“Associate IP“

可以看到已经从net04_ext池中获取了1个公开网络的ip地址:192.168.20.102,其实它是从Floating IP Range中获取的,把这个ip地址选择分配给spark01实例
点击“Associate“按钮

Ok,可以看到实例spark01的IP Address中出现了我们获取的公网ip地址:192.168.20.102
原理就是通过openstack的网络组件Neutron服务给虚拟机实例saprk01实现的DNAT,把Floating ip转发给spark01的内网地址。
5.2.3 外网与spark01通信

给实例Spark01添加了外网ip地址之后,使用windows上的cmd命令行ping

可以看到是ping不同的,因为在创建实例时选择了默认的安全组default
1) 配置安全组

点击Project -> Compute -> Access & Security

可以看到这个默认的安全组:default,在它的Actions栏中点击”Manage Rules”

可以看到这些default安全组自带的Rule,点击”Add Rule”添加rule




你可能感兴趣的:(openstack)