我应该如何设置MAAS以便Canonical OpenStack Autopilot可以使用它?
Ubuntu OpenStack Autopilot使用Juju,MAAS和Landscape部署OpenStack云。 它需要现有的MAAS服务器。 我该如何安装和配置此服务器? 它的网络要求是什么,节点应该如何连接在一起?
这些是成功运行OpenStack Autopilot的网络要求。
互联网
MAAS及其节点需要能够访问互联网,或至少这些网站(http和https):
- maas.ubuntu.com
- cloud-images.ubuntu.com
- streams.canonical.com
- 一个Ubuntu存档(archive.ubuntu.com或镜像)
- api.jujucharms.com
- manage.jujucharms.com
- jujucharms.com
- store.juju.ubuntu.com
- keyserver.ubuntu.com
- ppa.launchpad.net
- usn.ubuntu.com
如果在防火墙中打开漏洞,请注意这些地址可能会解析为多个IP。
网络布局
我们支持两种基本的网络布局。 我们称之为“扁平网络”和“分裂网络”。 在这两种模型中,至少有一个节点需要有两个网络接口连接到MAAS知道的网络。 我们称他们为私人和公共网络。
请记住,OpenStack浮动IP将始终来自公共网络。
在下图中,路由器上方的“云”并不一定意味着直接连接Internet,只是最终该网络上的设备可以访问Internet。
扁平网络
扁平网络模型是最基本的模型。 在这里,我们欺骗系统,简单地说公共和专用网络是相同的,并将两个NIC连接到它:
在这种情况下,OpenStack浮动IP将来自与MAAS节点IP相同的网络。
分裂网络
在拆分网络拓扑中,我们有两个实际的不同网络:
MAAS只管理专用网络,它将为其设置DNS和DHCP,但它必须知道公共网络。 自动处理的一种简单方法是将第二个NIC连接到MAAS计算机并将其连接到公共网络,如图所示。 然后MAAS会自动了解它。
安装MAAS
这是MAAS服务器的安装方式:
- 在要用于MAAS的计算机上安装Ubuntu服务器14.04 LTS
sudo add-apt-repository ppa:maas-maintainers/stable
-
sudo apt-get update
-
sudo apt-get install maas
- 访问位于
http://maas.ip/MAAS/
的MAAS UI并按照说明创建管理员,然后使用这些凭据登录 - 导入14.04 LTS(Trusty)64位的磁盘映像。 这将需要几分钟,具体取决于您的带宽。
- 将SSH密钥添加到您的用户配置文件 –
http://maas.ip/MAAS/account/prefs/
- 转到MAAS中的“网络”选项卡,确认您已为MAAS服务器的每个NIC自动创建网络。 您可能为
lxcbr0
或virbr0
等虚拟接口创建了网络:我们不关心这些网络,只关心真实的物理接口。 - 在为每个NIC自动创建的网络中填写缺少的详细信息,如网关和DNS
配置MAAS集群
- 单击“Clusters”选项卡,然后单击您的群集
- 选择DNS区域名称
- 您应该在计算机上看到NIC列表。 单击连接到专用网络的NIC的编辑符号,即所有节点所在的网络
- 设置此NIC以管理DHCP和DNS。
- 如果需要,请配置IP,子网掩码,广播IP。
- 将“路由器IP”设置为此专用网络的默认网关
- 将您的网络空间划分为以下范围:
- 对于分离网络案例: 动态范围和静态范围
- 对于扁平网络情况: 动态范围 , 静态范围和浮动IP范围
哪里:
- 动态范围 :节点中所有NIC在登记和调试时使用。
- 静态范围 :节点分配给用户时使用的范围
- 浮动IP范围 :由OpenStack浮动IP使用。 这不是MAAS配置,但您应该为它们留出空间
保存更改。
登记并委托机器
- 确保所有其他计算机都设置为PXE引导,如果可能,请禁用BIOS中的所有其他引导选项(包括本地磁盘)
- 通过打开电源来登记机器。 这通常可以通过某种虚拟控制台来完成。 最终它们将全部出现在MAAS的节点列表中并再次关闭。
- 编辑节点列表中的每台机器并填写电源类型和电源参数,以便MAAS可以根据需要打开和关闭它们
- 选择所有计算机,然后使用批量操作下拉列表委托他们
- 等到所有机器都投入使用(即处于就绪状态)
MAAS网络
- 转到“网络”选项卡,validation您的专用网络中是否列出了节点,并选择了各自的NIC
- 如果使用扁平网络拓扑,则应自动检测具有两个NIC的节点是否已将两个NIC连接到网络。 只需validation是这种情况。
- 如果使用拆分网络拓扑,请编辑公共网络并查找具有两个NIC的节点。 选择连接到公共网络的NIC。
测试东西
为了确保juju可以驱动MAAS和配置机器,让我们来看看它。 现在最好先尝试一下,然后在更复杂的服务(如Autopilot)使用它之前解决任何问题。
在用于驱动安装的计算机上,运行以下命令:
-
sudo add-apt-repository ppa:juju/stable
-
sudo apt-get update
-
sudo apt-get install juju-core juju-deployer
- 按照Juju文档配置MAAS
本文档的其余部分将假设您刚配置的MAAS Juju环境是默认环境。
对于简单的测试,我们将Ubuntu部署到所有节点。 在驱动安装的计算机上,运行以下命令:
-
juju bootstrap
这将使用其中一个MAAS节点来引导juju。 完成将需要几分钟 -
juju deploy ubuntu -n N
将ubuntu
部署到所有剩余节点。 将N
替换为节点数减1,用于上面的引导程序。 此命令在几秒钟后返回,但它只是启动该过程。 - 观察MAAS UI中的节点列表。 您应该看到正在分配和部署的节点
- 定期观察
juju status
的输出,直到一切都开始 - 通过ssh登录随机节点并尝试通过它访问互联网。 例如,从那里尝试
juju ssh ubuntu/0
和wget http://www.ubuntu.com
- 如果一切正常,破坏环境
juju destroy-environment $(juju env)
MAAS已经准备就绪,可供OpenStack Autopilot使用。