MAAS+JUJU+CONJURE-UP全自动部署OPENSTACK

MAAS和JUJU都是Ubuntu的产品,最近想玩一下OpenStack,看看能不能部署一个实验环境,虽然最后发现MAAS和JUJU的模式很好用但是官方文档给的东西实在是太少了,这里我就不列具体的安装步骤,我只能说安装步骤确实太简单了,完全不需要很复杂的文档。

MAAS和JUJU配合conjure-up的组合确实非常强大,真的非常强大,跟我知道KVM可以热迁移的震撼差不多吧。

部署Openstack

接下来,简单的说明一下部署生产环境(部署到一台机器的测试环境算是比较简单,下文会简单提到一下)

硬件准备

  1. 路由器1台具备NAT功能,可以隔离网络
  2. 交换机若干,取决你机器的多少
  3. 至少4台服务器,根据Openstack的要求,计算节点也就是nova至少需要两个网卡,而存储节点(cinder)至少需要一块网卡,服务器一般都具有IPMI功能,如果没有,我建议你换服务器,原因等下解释。
  4. 网线若干
  5. 普通电脑一台,预先安装Linux系统

网络拓扑图

这个是非常重要的内容,老规矩,先不解释,先上图,后面有空会慢慢解释。

物理服务器3
物理服务器2
物理服务器1
物理服务器0
MAAS Controller 虚拟机
虚拟服务器0
Router
eth0
eth1
eth0
eth1
eth0
eth1
eth0
eth1
eth0
WAN
LAN 172.16.0.0/24
Internet
Internet ISP
主交换机
内网交换机
普通电脑

Internet: 主要是在安装的时候使用,只要可以访问外网即可。

Internet ISP: 一个或者多个固定外网IP,将来作为OpenStack的浮动IP使用。

安装MAAS

首先找一台机器部署一个Ubuntu Server并部署MAAS,但是这个方式我不是很建议,哈哈哈哈哈。

我建议虚拟化处理,所以我是这样做的,首先给 物理服务器0 安装 OpenSuse42.3,选用BtrFS文件系统作为根文件系统,主要是因为BtrFS+Snapper(Yast中有Snapper的管理功能),在文字模式下实在强大到爆炸,简直就是给操作系统安装了一个GIT系统,可以随时回退和比较snapshot之间的不同点。方便安装过程出错以后秒恢复到之前的状态。

然后可以在Yast中安装虚拟化组件或者使用zypper安装,具体细节就不说了,总之就是让系统可以部署虚拟机。

这样就可以使用 普通电脑 安装Virtual Machine Manage去远程管理 物理服务器0 上的虚拟机。

实际上物理服务器0上面有两个虚拟服务器,一个是 MAAS-Controller 配置稍微低一点,另外一个是的角色和 物理服务器1物理服务器3 是一样的。

MAAS-Controller 只需要链接一个网络,生成虚拟机的时候注意一下。

然后在 MAAS-Controller 安装MAAS, 安装的方法,请见 MAAS 的官方文档。

注意
  1. 安装MAAS之前请在 Router 关闭DHCP,因为MAAS会提供DHCP服务,所以不需要LAN上的DHCP 服务。其他不用说,物理服务器0 的IP也要配置正确,这个应该不用解释。
  2. 安装MAAS的时候要确保可以正常上网,有点废话的意思。
  3. MAAS 包含 DNS 服务,所以需要把这部分配置好。安装好以耐心等待DNS服务就绪。如果2不行,会导致3不行,会导致所有的都不行。

小坑

小坑太多,建议把MAAS文档的FAQ多看一下,例如,安装MAAS的时候神奇的发现改一下IP地址以后居然不能正常使用了,有两个方法解决,第一,看MAAS的FAQ;第二,把IP配置好了再安装MAAS,参看上面注意的第1条。

大坑

大坑实在是太大了,安装文档没有讲网络的拓扑结构,不知道怎么玩,怎么入手。官方文档说需要两个专用交换机,我就是依据这个推断出了网络拓扑结构。如果大家踊跃回复,我就再写一篇文章说明一下。

继续说坑。

DNS

首先是DNS,后来发现在用conjure-up的时候,DNS非常关键,必须有正确的正反查功能。首先确保MAAS的DNS配置正确(参看注意里面的第2和第3条),我的方法是找一台正常的电脑(比如取个名字叫TESTC),接上网线,首先看MAAS的DHCP服务是否正常,这里顺便说一句,强烈推荐使用MAAS的DHCP功能,不用的话,PXE,部署都是麻烦。

如果一切顺利在MAAS的DNS页面下会找到TESTC,然后在普通电脑ping一下TESTC的主机名或者nslookup一下也行。如果不能查询到ip,那么请回去各种检查,例如,Setting下面的DNS配置部分,或者Subnet下的DNS Server配置等等。

怎么样算是DNS配置正常呢?

  1. 在MAAS控制器的电脑上可以访问外网
  2. 在MAAS控制器上可以nslookup到TESTC
  3. 在TESTC上可以访问外网
  4. 在TESTC上可以nslookup到MAAS

虽然说的有点乱,但是基本是这个道理。请注意,有时候你可能需要加上域名,MAAS默认的域名是maas,也就是说可能是你要去 nslookup TESTC.maas 就可以看到结果,有问题这里也会有提示,解决掉就可以了。

为什么说DNS是大坑呢,因为,我在部署过程中遇到的大多数问题都是DNS造成的。

请解决DNS的问题!

如果网络配置没有问题,基本上安装是没有问题的。

MAAS、JUJU 和 Conjure-Up

各位,OpenStack需要一点基础知识,必须要多看一下。另外OpenStack实际上是一个非常不错学习项目,OpenStack用了很多很先进的方法,值得一学。

MAAS是什么呢?刚开始看神乎其神,后来看完以后发现秀逗了,MAAS就是一个无人值守的部署工具,部署啥?部署操作系统,可以部署各种linux系统,不过为了避免麻烦,我直接用了Ubuntu Server版本。

JUJU是什么呢?JUJU是编排工具,我X,有没有这么复杂啊,在我看来,JUJU也是无人值守的部署工具,部署啥?部署OpenStack,OpenStack还是很复杂的,各种服务太多,配置也不少,所以JUJU来帮你。

Conjure-Up是什么呢?不管你信不信,这货也是无人值守的部署工具,部署啥?部署JUJU+OpenStack,看上去复杂,其实挺简单的,Conjure-UP会帮安装JUJU控制器啊,节点这些东西,同时提供了一个牛气轰轰的界面让你去编排服务,然后,Conjure-UP就帮你部署完了一切,请注意是一切,一切。

刚开始我没有搞明白这里面的关系,那是相当被动,后来明白以后,其实事情算是比较简单的,也就搞明白为什么Ubuntu把文档写的那么简单,因为,确实简单,没啥好说的。

MAAS 反复重启的问题

这算是个小坑,刚开始,我以为是Bug,后来发现不是,因为在招安(Commissioning)的过程中,有这个选项就是允许进入SSH并阻止重启,所以应该是MAAS故意而为之。其实MAAS在招安完成以后是会自动关机的,但是我用的是服务器,服务器都有个IPMI的东西,所以这东西发现关机,以为是发生了天大的故障,于是给重启了,不停的重启,所以其实只要把IPMI配置好就行了,我这里服务器是 Intel AMT,配置好了就啥事儿没有了,做一个安静的美男子。

管理JUJU和Openstack

之前说过JUJU是个编排服务,其编排的内容就是OpenStack的服务,这玩意儿好用。

怎么管理JUJU呢?在conjure-up的控制器上,执行juju gui,就可以看到登录地址和密码。Web登录以后看到openstack-dashboad服务,看一下主机名或者IP地址,剩下的请自行补脑OpenStack,我这里记录三个关键字,horizon,admin,openstack,好了你猜吧。

网络拓扑结构

这个东西算是个一个超级超级超级大坑,单独列出来讲一下,Ubuntu的JUJU和MAAS都没有把需要的网络结构将清楚,我觉得可能是因为JUJU和MAAS没有什么具体的要求吧,主要还是看OpenStack对网络拓扑结构的要求。

这个地方需要脑补,上图是我实际安装成功的网络拓扑结构,给大家参考。

有很多东西没有截图,说的比较模糊,请各位原谅。想到什么再补充吧

另外我还莫名其妙的写了一句:

删除了ComputeCapabilitiesFilter

我也不知道为啥,忘记了。

看到有零星网友回复期待下一集,确实不是很热烈,所以,很抱歉~~只说坑,不写教程了,如果有什么问题可以私信我,尽量为大家解答~谢谢

你可能感兴趣的:(openstack,juju,conjureup,MAAS)