我应该如何设置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服务器的安装方式:

  1. 在要用于MAAS的计算机上安装Ubuntu服务器14.04 LTS
  2. sudo add-apt-repository ppa:maas-maintainers/stable
  3. sudo apt-get update
  4. sudo apt-get install maas
  5. 访问位于http://maas.ip/MAAS/的MAAS UI并按照说明创建管理员,然后使用这些凭据登录
  6. 导入14.04 LTS(Trusty)64位的磁盘映像。 这将需要几分钟,具体取决于您的带宽。
  7. 将SSH密钥添加到您的用户配置文件 – http://maas.ip/MAAS/account/prefs/
  8. 转到MAAS中的“网络”选项卡,确认您已为MAAS服务器的每个NIC自动创建网络。 您可能为lxcbr0virbr0等虚拟接口创建了网络:我们不关心这些网络,只关心真实的物理接口。
  9. 在为每个NIC自动创建的网络中填写缺少的详细信息,如网关和DNS

配置MAAS集群

  1. 单击“Clusters”选项卡,然后单击您的群集
  2. 选择DNS区域名称
  3. 您应该在计算机上看到NIC列表。 单击连接到专用网络的NIC的编辑符号,即所有节点所在的网络
  4. 设置此NIC以管理DHCP和DNS。
  5. 如果需要,请配置IP,子网掩码,广播IP。
  6. 将“路由器IP”设置为此专用网络的默认网关
  7. 将您的网络空间划分为以下范围:
    • 对于分离网络案例: 动态范围静态范围
    • 对于扁平网络情况: 动态范围静态范围浮动IP范围

哪里:

  • 动态范围 :节点中所有NIC在登记和调试时使用。
  • 静态范围 :节点分配给用户时使用的范围
  • 浮动IP范围 :由OpenStack浮动IP使用。 这不是MAAS配置,但您应该为它们留出空间

保存更改。

登记并委托机器

  1. 确保所有其他计算机都设置为PXE引导,如果可能,请禁用BIOS中的所有其他引导选项(包括本地磁盘)
  2. 通过打开电源来登记机器。 这通常可以通过某种虚拟控制台来完成。 最终它们将全部出现在MAAS的节点列表中并再次关闭。
  3. 编辑节点列表中的每台机器并填写电源类型和电源参数,以便MAAS可以根据需要打开和关闭它们
  4. 选择所有计算机,然后使用批量操作下拉列表委托他们
  5. 等到所有机器都投入使用(即处于就绪状态)

MAAS网络

  1. 转到“网络”选项卡,validation您的专用网络中是否列出了节点,并选择了各自的NIC
  2. 如果使用扁平网络拓扑,则应自动检测具有两个NIC的节点是否已将两个NIC连接到网络。 只需validation是这种情况。
  3. 如果使用拆分网络拓扑,请编辑公共网络并查找具有两个NIC的节点。 选择连接到公共网络的NIC。

测试东西

为了确保juju可以驱动MAAS和配置机器,让我们来看看它。 现在最好先尝试一下,然后在更复杂的服务(如Autopilot)使用它之前解决任何问题。

在用于驱动安装的计算机上,运行以下命令:

  1. sudo add-apt-repository ppa:juju/stable
  2. sudo apt-get update
  3. sudo apt-get install juju-core juju-deployer
  4. 按照Juju文档配置MAAS

本文档的其余部分将假设您刚配置的MAAS Juju环境是默认环境。

对于简单的测试,我们将Ubuntu部署到所有节点。 在驱动安装的计算机上,运行以下命令:

  1. juju bootstrap这将使用其中一个MAAS节点来引导juju。 完成将需要几分钟
  2. juju deploy ubuntu -n Nubuntu部署到所有剩余节点。 将N替换为节点数减1,用于上面的引导程序。 此命令在几秒钟后返回,但它只是启动该过程。
  3. 观察MAAS UI中的节点列表。 您应该看到正在分配和部署的节点
  4. 定期观察juju status的输出,直到一切都开始
  5. 通过ssh登录随机节点并尝试通过它访问互联网。 例如,从那里尝试juju ssh ubuntu/0wget http://www.ubuntu.com
  6. 如果一切正常,破坏环境juju destroy-environment $(juju env)

MAAS已经准备就绪,可供OpenStack Autopilot使用。