使用 maas 和 juju 在一台计算机上安装并测试 OpenStack 14.04

使用 maas 和 juju 在一台计算机上安装并测试 OpenStack 14.04

根据文档,14.04 中的 OpenStack 安装比以前更简单。就我而言,我需要使用 MAAS 和 JUJU 在一台计算机上进行实验/测试。我已经了解 devstack,但正如我之前所说,我需要测试 MAAS 和 JUJU。我在哪里可以找到执行此操作的步骤?

答案1

1)安装并测试MAAS和JUJU

Juju、MAAS 和 VirtualBox 发布日期:2012 年 5 月 22 日,云 • juju • MAAS • Planet • Ubuntu

我一直想使用 MAAS。事实上,自从它在软件包仓库中发布前几周偶然发现它以来,我一直对它的发布感到兴奋。我最初尝试在我的桌面上安装 Xen,因为它是我在生产中要使用的。这并没有奏效,所以我决定使用 VirtualBox。我浏览了文档的测试 MAAS 部分,并确信 VirtualBox 可以处理类似 MAAS 的东西。首先,我在 VirtualBox 中创建了一些 MAAS 机器,并将 12.04 ISO 附加为安装介质。我开始安装第一个 MAAS“主”服务器。

jujumaas1

在安装屏幕上,我选择了“使用 MAAS 安装多台服务器”选项,选择了“在此服务器上创建新的 MAAS”,然后按照默认设置操作。安装结束时,我得到了一个地址,通过它可以查看 MAAS 控制面板,即 10.0.2.5。不用说,我非常兴奋。当然,这个地址不起作用,我很快意识到我实际上无法访问该网络。查看虚拟机的网络设置后,我做了以下更改:

Attached to: Bridged Adapter Name: eth0 Promiscuous Mode: Allow All

jujumaas2

我更新了每个单元以反映这些设置。更新后,我必须重新启动 VM 并重新配置 MAAS 以使用新地址。这只需执行以下操作即可完成:

sudo dpkg-重新配置 maas

然后我更新了 IP 以反映我网络内的新 IP 地址。这样做之后,192.168.5.27 成为我的 MAAS 主控,并http://192.168.5.27/MAAS加载了控制面板!

jujumaas3

注意仪表板上显示的内容,我运行了以下两个命令:

sudo maas createsuperuser sudo maas-import-isos

第一个命令提示我输入用户名、密码和电子邮件。第二个命令运行了几分钟,下载并创建了不同的精确映像。完成后,我的仪表板仍然显示 impor-isos 警告,但更重要的是,我能够登录并看到我有 0 个节点!

jujumaas4

这给了我继续前进的信心。我启动了“maas1”虚拟机来开始安装过程。像以前一样,我选择了“使用 MAAS 安装多台服务器”。下一个屏幕提供了使用 maas-master MAAS 服务器的选项,所以当机器突然 SIGKILL 所有进程然后关闭时,我很高兴地选择了该选项。不过胜利是在仪表板上,因为它现在反映了 1 个节点!

朱朱马斯5

我继续对每个“maas”虚拟机执行此操作,直到所有虚拟机都在 maas-master 仪表板中注册。不幸的是,在安装过程中,其中一个节点的命名方案丢失了(我试图为每个 MAAS 节点执行 maas-node0、maas-node1 等),最终将其中一个命名为 maas2,这打乱了其余节点的命名。除此之外,我想要加入的所有初始节点都没有任何问题。

朱朱马斯6

现在是时候让 Juju 的某些优点推动这些机器了。我做的第一件事就是找到我的 MAAS 密钥。在进入帐户首选项之前,我浏览了仪表板的几个部分。我还注意到一个 SSH 密钥部分,我将我的公钥添加到其中(以防万一)。我复制了我的 MAAS 密钥,并在我的 juju 环境文件中创建了以下节(我在 Juju 网站上找不到有关 MAAS 设置的文档,但我从 MAAS 测试工具的屏幕截图中找到了这个 URL,这让我找到了答案)。

environments: vb-maas: type: maas maas-server: http://192.168.5.27:80/MAAS maas-oauth: "MY:MAAS:KEY" admin-secret: super-secret-made-up-admin-key default-series: precise

当我第一次尝试引导 MAAS 设置时,我收到了几个错误。需要指定端口才能让 Juju 连接到提供商。但是,当我再次尝试引导时,我收到了一大堆关于 409 CONFLICT 的错误。这时我意识到您需要接受每台机器才能对其进行配置。我退后一步,开始阅读文档,因为我的节点无法正常启动(或者根本无法启动)。很明显,我没有正确设置 DNS。我建议通读文档以了解您需要为网络做什么。安装 maas-dhcp 并配置该包后,需要重新生成 ISO 以使用更新的信息。运行sudo maas-import-isos为我解决了这个问题。毕竟,我需要更新每个 VirtualBox VM 以将网络包含在启动顺序中。为此,打开每个 VM 的设置,转到系统,并确保网络启动已选中并位于列表顶部。

jujumaas7

完成此操作后,启动每个 VM,PXE DHCP 应该会找到您的 MAAS 主服务器并正确设置 VM。成功设置后,每台机器都会关闭,MAAS 仪表板将更新。最终结果非常出色:

jujumaas8

现在是时候让 Juju 与这些可爱的 MAAS 机器一起工作了!经过几次失败后,我在 MAAS 仪表板中创建了一个新帐户,其用户名与我的本地用户相同,并更新了 Juju 环境以使用该 MAAS 密钥。完成后,我发布了一个引导程序:

juju 引导程序

并在命令完成后检查仪表板。

jujumaas9

仪表板现在显示了分配给 Juju 进行引导的节点之一。我不得不手动启动每个虚拟机,因为出于某种原因,它们不响应局域网唤醒。然而,我使用 Juju 部署到 MAAS 的目标已经实现。体验肯定还有改进的空间,但当我们开始将裸机投入 MAAS 时,我寄予厚望。

来源:http://marcoceppi.com/2012/05/juju-maas-virtualbox/

2)安装openstack

对于不熟悉如何设置 OpenStack 开发/测试环境的人来说,这可能是一项艰巨的任务。有很多方法可以做到这一点,通常归结为开发人员对如何部署它的偏好......所以我将分享我的个人偏好。:)

我的 OpenStack 测试环境由 VirtualBox 组成,其中运行带有 devstack 的 Ubuntu 12.04 Server(Precise Pangolin)虚拟机。本指南假设您熟悉在 VirtualBox 上安装 Ubuntu,并且熟悉命令行和 git。

Download and install VirtualBox
The networking can be a bit tricky and I’ve already addressed this in the ServerFault question What is the correct network configuration for a devStack VM (virtualbox)?
Download the 64-bit PC (AMD64) server install CD of Ubuntu 12.04 and create a VirtualBox VM with it
Once it’s ready to go you should be able to login to it from your terminal

   ssh [email protected]

Once logged in, take a break, and have a look at the instructions for devstack
If you want a release branch of OpenStack (e.g. Essex, Folsom, etc.), you need to do things a little differently

   Essex:
   git clone https://github.com/openstack-dev/devstack.git -b stable/essex devstack/
   Folsom:
   git clone https://github.com/openstack-dev/devstack.git -b stable/folsom devstack/
   In the devstack/ directory create a localrc file that only uses release branches only
       Essex example
       Folsom example

If you want the latest and greatest master branch of OpenStack, in the devstack/ directory, create a localrc file like this
In both cases

   Change to your devstack directory
   Run stack.sh
   When it completes, configure Keystone to return the VM’s “public” IP
       Essex:
       sed -i "s#publicURL = http://10.0.2.15#publicURL = http://172.16.0.1#g" /etc/keystone/default_catalog.templates
       Folsom:
       mysql -uroot -pdevstack keystone
       update endpoint set extra = replace(extra, '"publicurl": "http://10.0.2.15', '"publicurl": "http://172.16.0.1') where instr(extra, '"publicurl": "http://10.0.2.15') > 0;
       Grizzly:
       update endpoint set url = replace(url, 'http://10.0.2.15', 'http://172.16.0.1') where interface = 'public';
   Kill the existing screen session (that contains all of the OpenStack services)
       screen -X -S stack quit
   Restart screen (with all of the OpenStack services)
       screen -c stack-screenrc

Outside of the VM, back on your local machine, you should now be able to follow the instructions in my post jclouds and OpenStack to verify that everything is working as expected

来源:https://wiki.openstack.org/wiki/DevStackVirtualbox

相关内容