如何使用MAAS准备安装OpenStack?
我有一套服务器,我想安装OpenStack,如何使用Metal-as-a-Service(MAAS)安装OpenStack?
范围
本文档提供有关如何安装Metal As A Service(MAAS)软件的说明。
- 您有足够的,适当的节点硬件
- 您将使用Juju为MAAS分配工作负载
- 您将配置完全由MAAS控制的群集网络(即DNS和DHCP)
- 如果您具有兼容的电源管理系统,则还会安装所需的任何其他硬件(例如IPMI网络)。
介绍MAAS
金属即服务 – MAAS – 允许您将物理服务器视为云中的虚拟机。 MAAS不是必须单独管理每台服务器,而是将您的裸机转变为弹性的云状资源。
这在实践中意味着什么? 告诉MAAS您希望它管理的机器,它将启动它们,检查硬件是否正常,并让它们等待您需要的时间。 然后,您可以拉出节点,将其拆除并随意重新部署; 就像云中的虚拟机一样。
当您准备好部署服务时,MAAS为Juju提供了为该服务提供支持所需的节点。 它就是这么简单:无需手动配置,检查,然后进行清理。 随着您的需求变化,您可以轻松地向上或向下扩展服务。 几个小时需要为Hadoop集群提供更多function吗? 只需拆除一个Nova计算节点并将其重新部署到Hadoop即可。 完成后,将节点恢复到Nova也同样容易。
从云存档安装MAAS
Ubuntu云存档是一个专门为用户提供最新,稳定版本的MAAS,Juju和其他工具的存储库。 强烈建议您保持软件最新:
sudo apt-get update
有几个包构成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
…将开始安装MAAS的所有组件。 默认情况下应安装maas-dhcp和maas-dns软件包。
安装完成后,将启动MAAS的基于Web的界面。 在许多情况下,MAAS控制器将具有多个NIC。 默认情况下,所有服务都将使用第一个发现的控制器启动(即通常为eth0)
在您第一次登录服务器之前,您应该创建一个超级用户帐户。
创建超级用户帐户
安装MAAS后,您需要创建一个管理员帐户:
sudo maas-region-admin createsuperuser
运行此命令将提示输入admin用户的用户名,电子邮件地址和密码。 您也可以为管理员帐户使用不同的用户名,但“root”是一种常见的约定,易于记忆。
您可以为您可能希望创建的任何其他管理员帐户再次运行此命令,但至少需要一个。
导入启动映像
MAAS将每周检查并下载一次新的Ubuntu映像。 但是,您需要在第一次手动下载它们。 为此,您应该使用Web浏览器连接到MAAS Web界面。 使用url:
http://172.18.100.1/MAAS/
您应该替换已安装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
安装集群软件后,运行以下内容非常有用:
sudo dpkg-reconfigure maas-cluster-controller
这将使您能够确保群集控制器代理指向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
调试后,节点的状态将更新为“就绪”。 您可以通过单击节点名称然后单击“调试输出”标题下方的链接来检查调试脚本的结果。 屏幕将显示文件列表及其结果 – 您可以通过单击任何文件的状态来进一步检查输出。
手动添加节点
如果您的节点无法从PXE映像启动,则可以使用MAAS手动注册它们。 在主Web界面屏幕上,单击“添加节点”按钮:
这将加载一个新页面,您可以在其中手动输入有关节点的详细信息,包括其MAC地址。 这用于在与DHCP服务器联系时标识节点。
能源管理
MAAS支持多种类型的电源管理。 要配置电源管理,您应单击单个节点条目,然后单击“编辑”按钮。 应从下拉列表中选择电源管理类型,并添加适当的电源管理详细信息。
如果您有大量节点,则应该可以使用MAAS cli编写此过程的脚本。
如果没有电源管理,MAAS将无法在需要时为节点供电。
下一步:
- 如何准备MAAS在OpenStack上提供图像?
- 如何使用Juju部署OpenStack云?