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 服务器的安装方式如下:
- 在要用于 MAAS 的机器上安装 Ubuntu 服务器 14.04 LTS
sudo add-apt-repository ppa:maas-maintainers/stable
sudo apt-get update
sudo apt-get install maas
- 访问 MAAS UI
http://maas.ip/MAAS/
并按照说明创建管理员,然后使用这些凭据登录 - 导入 14.04 LTS (Trusty) 64 位的磁盘映像。这将需要几分钟,具体取决于您的带宽。
- 将您的 SSH 密钥添加到您的用户配置文件 -
http://maas.ip/MAAS/account/prefs/
- 转到 MAAS 中的“网络”选项卡,并验证您是否已为 MAAS 服务器的每个 NIC 自动创建网络。您可能已为虚拟接口创建网络,例如
lxcbr0
或virbr0
:我们不关心这些,只关心实际的物理接口。 - 在为每个 NIC 自动创建的网络中填写缺失的详细信息,例如网关和 DNS
配置 MAAS 集群
- 单击“集群”选项卡,然后单击您的集群
- 选择 DNS 区域名称
- 您应该会看到机器上的 NIC 列表。单击连接到私有网络(即所有节点所在的网络)的 NIC 的编辑符号
- 设置此 NIC 来管理 DHCP 和 DNS。
- 如果需要,配置IP、子网掩码、广播IP。
- 将“路由器 IP”设置为此专用网络的默认网关
- 将您的网络空间划分为如下范围:
- 对于拆分网络情况:动态范围和静态范围
- 对于扁平网络情况:动态范围,静态范围和浮动 IP 范围
在哪里:
- 动态范围:节点中的所有 NIC 在登记和调试时使用。
- 静态范围:分配给用户时由节点使用
- 浮动 IP 范围:由 OpenStack 浮动 IP 使用。这不是 MAAS 配置,但你应该为它们留出空间
保存更改。
登记并委托机器
- 确保所有其他机器都设置为 PXE 启动,如果可能的话,在 BIOS 中禁用所有其他启动选项(包括本地磁盘)
- 通过启动机器来启用它们。这通常可以通过某种虚拟控制台来完成。最终它们将全部出现在 MAAS 中的节点列表中,然后再次关闭。
- 编辑节点列表中的每台机器,并填写电源类型和电源参数,以便 MAAS 可以根据需要打开和关闭它们
- 选择所有机器,然后使用“批量操作”下拉菜单对其进行调试
- 等到所有机器都投入使用(即处于就绪状态)
MAAS 网络
- 转到“网络”选项卡,并验证您的私有网络中是否列出了节点,并且已选择相应的 NIC
- 如果使用平面网络拓扑,则应该会自动检测具有两个 NIC 的节点是否已连接到网络。只需验证是否确实如此。
- 如果使用拆分网络拓扑,请编辑公共网络并查找具有两个 NIC 的节点。选择连接到公共网络的 NIC。
测试事物
为了确保 juju 能够驱动 MAAS 并配置机器,让我们先试一试。最好现在就试用一下,并在 Autopilot 等更复杂的服务使用它之前解决所有问题。
在用于驱动安装的机器上,运行以下命令:
sudo add-apt-repository ppa:juju/stable
sudo apt-get update
sudo apt-get install juju-core juju-deployer
- 跟随用于配置 MAAS 的 Juju 文档
本文档的其余部分将假设您刚刚配置的 MAAS Juju 环境是默认环境。
为了进行简单测试,我们将 Ubuntu 部署到所有节点。在驱动安装的计算机上,运行以下命令:
juju bootstrap
这将使用其中一个 MAAS 节点来引导 juju。需要几分钟才能完成juju deploy ubuntu -n N
部署ubuntu
到所有剩余节点。替换N
为节点数减一,用于上面的引导。此命令在几秒钟后返回,但它只是启动该过程。- 查看 MAAS UI 中的节点列表。您应该看到正在分配和部署的节点
- 定期观察输出
juju status
,直到一切启动 - 通过 ssh 登录到随机节点并尝试从该节点访问互联网。例如,尝试
juju ssh ubuntu/0
从wget http://www.ubuntu.com
那里 - 如果一切正常,则破坏环境
juju destroy-environment $(juju env)
MAAS 已设置并可供 OpenStack Autopilot 使用。