如何使用 MAAS 准备安装 OpenStack?

Jor*_*tro 8 openstack maas

我有一组服务器,我想安装 OpenStack,我如何使用 Metal-as-a-Service (MAAS) 安装 OpenStack?

Jor*_*tro 10

范围

本文档提供有关如何安装 Metal As A Service (MAAS) 软件的说明。

  • 你有足够的、合适的节点硬件
  • 您将使用 Juju 将工作负载分配给 MAAS
  • 您将配置集群网络以完全由 MAAS 控制(即 DNS 和 DHCP)
  • 如果您有兼容的电源管理系统,则还需要安装任何额外的硬件(例如 IPMI 网络)。

介绍 MAAS

Metal as a Service – MAAS – 让您将物理服务器视为云中的虚拟机。MAAS 不必单独管理每个服务器,而是将您的裸机转变为弹性的云状资源。

这在实践中意味着什么?告诉 MAAS 您希望它管理的机器,它会引导它们,检查硬件是否正常,并在您需要它们时让它们等待。然后,您可以将节点拉起、拆除并随意重新部署;就像使用云中的虚拟机一样。

当您准备好部署服务时,MAAS 会为 Juju 提供支持该服务所需的节点。就这么简单:无需手动配置、检查和清理。随着您的需求发生变化,您可以轻松地扩展或缩减服务。需要几个小时为您的 Hadoop 集群提供更多电力?只需拆除您的 Nova 计算节点之一并将其重新部署到 Hadoop。完成后,将节点交还给 Nova 也很容易。

从 Cloud Archive 安装 MAAS

Ubuntu Cloud Archive 是一个专门为用户提供最新、稳定版本的 MAAS、Juju 和其他工具的存储库。强烈建议让您的软件保持最新:

sudo apt-get update
Run Code Online (Sandbox Code Playgroud)

有几个包包含 MAAS 安装。这些是:

  • maas-region-controller:它包含软件的“控制”部分,包括基于 Web 的用户界面、API 服务器和主数据库。
  • maas-cluster-controller:这包括管理节点集群所需的软件,包括管理 DHCP 和引导映像。
  • maas-dns:这是一个定制的 DNS 服务,MAAS 可以在本地使用它来管理所有连接节点的 DNS。
  • mass-dhcp:对于 DNS,有一个 DHCP 服务,使 MAAS 能够正确登记节点并分配 IP 地址。

DHCP 设置对于节点的正确 PXE 引导至关重要。

为方便起见,还有一个maas元包,它将安装所有这些组件。

如果您需要将这些服务分开,或者想部署一个额外的集群控制器,您应该单独安装相应的包。

安装软件包

运行命令:

sudo apt-get install maas
Run Code Online (Sandbox Code Playgroud)

...将开始安装 MAAS 的所有组件。默认情况下应安装 maas-dhcp 和 maas-dns 包。

安装完成后,MAAS 的基于 Web 的界面将启动。在许多情况下,您的 MAAS 控制器将具有多个 NIC。默认情况下,所有服务将使用第一个发现的控制器(即通常是 eth0)启动

在您第一次登录服务器之前,您应该创建一个超级用户帐户。

创建超级用户帐户

安装 MAAS 后,您需要创建一个管理员帐户:

sudo maas-region-admin createsuperuser 
Run Code Online (Sandbox Code Playgroud)

运行此命令将提示输入 admin 用户的用户名、电子邮件地址和密码。您也可以为您的管理员帐户使用不同的用户名,但“root”是一种常见的约定并且易于记忆。

您可以为您可能希望创建的任何其他管理员帐户再次运行此命令,但您至少需要一个。

导入启动映像

MAAS 将每周检查并下载一次新的 Ubuntu 镜像。但是,您需要在第一次手动下载它们。为此,您应该使用 Web 浏览器连接到 MAAS Web 界面。使用网址:

http://172.18.100.1/MAAS/
Run Code Online (Sandbox Code Playgroud)

您应该替换已安装 MAAS 软件的服务器的 IP 地址。如果有多个可能的网络,默认情况下它将位于分配给 eth0 设备的任何一个上。

您应该会看到如下所示的登录屏幕:

在此处输入图片说明

输入您为管理员帐户指定的用户名和密码。成功登录后,您应该会看到 MAAS 主页面:

在此处输入图片说明

单击顶部警告中显示的链接,或单击菜单中的“集群”选项卡以进入集群配置屏幕。初始集群在您安装时会自动添加到 MAAS,但它还没有用于引导节点的关联映像。单击按钮开始下载合适的引导映像。

导入引导映像可能需要一些时间,具体取决于可用的网络连接。此页面不会动态刷新,因此您可以手动刷新它以确定何时导入了启动映像。

登录到服务器

要检查一切是否正常工作,您应该立即尝试登录服务器。两条错误消息都应该消失了(启动映像文件可能需要几分钟才能注册),您可以看到当前有 0 个节点连接到此控制器。

在网络上配置交换机

一些交换机使用生成树协议 (STP) 协商通过根网桥的无环路路径。在扫描时,它可以使每个端口等待最多 50 秒,然后才允许在该端口上发送数据。这种延迟反过来又会导致一些应用程序/协议出现问题,例如 PXE、DHCP 和 DNS,其中 MAAS 广泛使用。

为了缓解这个问题,您应该 为 Cisco 交换机或其他供应商设备上的等效设备启用 Portfast,这使端口几乎可以立即启动。

添加额外的集群

虽然当然可以通过一个集群控制器为所有节点运行 MAAS,但为了更容易维护、升级和稳定性,至少有两个可操作的集群是可取的。

每个集群都需要一个控制器节点。在此节点上安装 Ubuntu,然后按照类似的设置步骤安装集群控制器软件:

sudo apt-get update
sudo apt-get install maas-cluster-controller
sudo apt-get install maas-dhcp maas-dns
Run Code Online (Sandbox Code Playgroud)

安装集群软件后,运行以下命令很有用:

sudo dpkg-reconfigure maas-cluster-controller
Run Code Online (Sandbox Code Playgroud)

这将使您能够确保集群控制器代理指向 MAAS 主控制器的正确地址。

在此处输入图片说明

配置额外的集群控制器

集群验收

当您在与区域控制器相同的系统上安装第一个集群控制器时,默认情况下将自动接受它(但尚未配置,请参见下文)。您设置的任何其他集群控制器将在用户界面中显示为“待处理”,直到您手动将它们接受到 MAAS 中。

要接受集群控制器,请单击 MAAS Web 界面顶部的“集群”选项卡:

您应该会看到页面顶部的文本指示待处理的集群。单击该文本以进入集群接受屏幕。

在此处输入图片说明

您可以在此处更改显示在 UI 中的集群名称、其 DNS 区域及其状态。接受集群将其状态从“待定”更改为“已接受”。

现在集群控制器已被接受,您可以配置一个或多个由 MAAS 管理的网络接口。这将使集群控制器能够管理连接到这些网络的节点。下一节将解释如何执行此操作以及要做出哪些选择。

集群配置

MAAS 自动识别每个集群控制器上的网络接口。其中一些将连接到您要管理节点的网络。我们建议通过在 MAAS 用户界面中配置这些接口,让您的集群控制器充当这些网络的 DHCP 服务器。

例如,我们将配置集群控制器来管理接口 eth0 上的网络。单击 eth0 的编辑图标,这会将我们带到此页面:

在此处输入图片说明

您可以在此处选择希望集群控制器管理网络的程度:

  • 仅 DHCP - 这将在您的集群上运行 DHCP 服务器
  • DHCP 和 DNS - 这将在集群上运行 DHCP 服务器并配置包含在区域控制器中的 DNS 服务器,以便它可以用于按名称查找此网络上的主机(推荐)。

如果没有 DHCP 管理,您就无法进行 DNS 管理,因为 MAAS 依赖其自己的 DHCP 服务器的租用文件来计算集群中节点的 IP 地址。如果您将接口设置为受管,您现在需要在下面的输入字段中提供所有常用的 DHCP 详细信息。完成后,单击“保存界面”。集群控制器现在将能够在该网络上引导节点。

还有一个选项可以让网络不受管理。将此用于您不想管理任何节点的网络。或者,如果您确实想要管理节点但想要使用网络上现有的 DHCP 服务。

单个集群控制器可以管理多个网络,每个网络来自集群控制器服务器上的不同网络接口。这可以帮助您将集群扩展到更多节点,或者它可能是您的网络架构的要求。

登记节点

现在 MAAS 控制器正在运行,我们需要让节点知道 MAAS,反之亦然。通过 MAAS 控制 DHCP 和能够进行 PXE 启动的节点,这很简单

自动发现

将节点设置为从 PXE 映像启动后,它们将启动、查找 DHCP 服务器、接收 PXE 启动详细信息、启动映像、联系 MAAS 服务器并关闭。

在此过程中,MAAS 服务器将传递有关节点的信息,包括架构、MAC 地址和其他详细信息,这些信息将存储在节点数据库中。您可以通过 Web 界面接受和委托节点。当节点被接受时,将安装选定的 Ubuntu 系列。

在此处输入图片说明

您还可以从命令行接受和委托所有节点。这要求您首先使用 API 密钥登录,然后运行以下命令:

maas-cli maas-profile nodes accept-all
Run Code Online (Sandbox Code Playgroud)

一旦委托,节点的状态将更新为“就绪”。您可以通过单击节点名称,然后单击“调试输出”标题下的链接来检查调试脚本的结果。屏幕将显示文件列表及其结果 - 您可以通过单击任何文件的状态来进一步检查输出。

在此处输入图片说明

手动添加节点

如果您的节点无法从 PXE 映像启动,则可以使用 MAAS 手动注册它们。在主 Web 界面屏幕上,单击“添加节点”按钮:

在此处输入图片说明

这将加载一个新页面,您可以在其中手动输入有关节点的详细信息,包括其 MAC 地址。这用于在节点联系 DHCP 服务器时识别节点。

在此处输入图片说明

能源管理

MAAS 支持多种类型的电源管理。要配置电源管理,您应该单击单个节点条目,然后单击“编辑”按钮。应从下拉列表中选择电源管理类型,并添加相应的电源管理详细信息。

在此处输入图片说明

如果您有大量节点,则应该可以使用 MAAS cli 编写此过程的脚本。

如果没有电源管理,MAAS 将无法在需要时为节点供电。

下一步: