互联网

互联网

Ubuntu OpenStack Autopilot 使用 Juju、MAAS 和 Landscape 部署 OpenStack 云。它需要现有的 MAAS 服务器。我应该如何安装和配置此服务器?它的网络要求是什么,节点应该如何连接在一起?

答案1

这些是成功运行 OpenStack Autopilot 的网络要求。

互联网

MAAS 及其节点需要能够访问互联网,或者至少访问这些网站(http 和 https):

  • maas.ubuntu.com
  • 云图片
  • streams.canonical.com
  • Ubuntu 档案库(archive.ubuntu.com 或镜像)
  • api.jujucharms.com
  • manage.jujucharms.com
  • jujucharms.com
  • 商店.juju.ubuntu.com
  • 密钥服务器
  • ppa.launchpad.net
  • usn.ubuntu.com

如果在防火墙上打开漏洞,请注意这些地址可能会解析为多个 IP。

网络布局

我们支持两种基本的网络布局。我们称之为“平面网络”和“分割网络”。在这两种模型中,至少一个节点需要有两个网络接口连接到 MAAS 知道的网络。我们将它们称为私有网络和公共网络。

请记住,OpenStack 浮动 IP 始终来自公共网络。

在下图中,路由器上方的“云”并不一定直接代表互联网,只是最终该网络上的设备可以访问互联网。

扁平网络

扁平网络模型是最基本的模型。在这里我们欺骗系统,简单地说公用网络和专用网络是相同的,并将两个网卡连接到它:

扁平网络

在这种情况下,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. 访问 MAAS UIhttp://maas.ip/MAAS/并按照说明创建管理员,然后使用这些凭据登录
  6. 导入 14.04 LTS (Trusty) 64 位的磁盘映像。这将需要几分钟,具体取决于您的带宽。
  7. 将您的 SSH 密钥添加到您的用户配置文件 -http://maas.ip/MAAS/account/prefs/
  8. 转到 MAAS 中的“网络”选项卡,并验证您是否已为 MAAS 服务器的每个 NIC 自动创建网络。您可能已为虚拟接口创建网络,例如lxcbr0virbr0:我们不关心这些,只关心实际的物理接口。
  9. 在为每个 NIC 自动创建的网络中填写缺失的详细信息,例如网关和 DNS

配置 MAAS 集群

  1. 单击“集群”选项卡,然后单击您的集群
  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. 转到“网络”选项卡,并验证您的私有网络中是否列出了节点,并且已选择相应的 NIC
  2. 如果使用平面网络拓扑,则应该会自动检测具有两个 NIC 的节点是否已连接到网络。只需验证是否确实如此。
  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. 跟随用于配置 MAAS 的 Juju 文档

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

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

  1. juju bootstrap这将使用其中一个 MAAS 节点来引导 juju。需要几分钟才能完成
  2. juju deploy ubuntu -n N部署ubuntu到所有剩余节点。替换N为节点数减一,用于上面的引导。此命令在几秒钟后返回,但它只是启动该过程。
  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 使用。

相关内容