我想使用 Juju 部署到 Rackspace Cloud,我该怎么做?
我们公司正在做一个项目,我们想开始做 Juju、MaaS 和 OpenStack。总而言之,我们很满意,但我们有一个主要问题使我们退步。我们似乎还没有发现问题出在哪里——juju 或 MaaS。
我们已经使用 ubuntu 12.10 设置了一个 MaaS master - 我们在 MaaS slaves 上使用 12.04。我们有 1 个引导从站和 6 个用于 OpenStack 的从站……
一开始,一切似乎都运行良好——在 MaaS 中让所有奴隶处于就绪状态并使用 juju 进行部署似乎也按预期工作。我们部署了一个完整的 openstack 环境。但是到了某个时候(重做之后已经经历了 3-4 次)Juju 将看不到新的 MaaS 从节点,当我们想要在新节点上添加单元或其他 juju 符时,这些 Juju 将看不到。它们在 MaaS 中被声明为就绪,但 Juju 看不到它们,当我们使用 juju deploy 时,魅力只会说待定,机器会说待定,而不是从 maas 中挑选就绪节点。我可以看到奴隶中的 juju 版本是 0.6,但我可以看到有一个更新的版本。它可以与较新的版本一起使用吗?
每当我设置 devstack 或 OpenStack 部署时,我都想添加最新的 LTS Ubuntu 服务器映像。我过去曾多次成功,我相信可以通过以下方式实现:
wget http://uec-images.ubuntu.com/releases/12.04.2/release/ubuntu-12.04.2-server-cloudimg-amd64-disk1.img
glance image-create --is-public true --disk-format qcow2 --container-format bare --name "precise" < ubuntu-12.04.2-server-cloudimg-amd64-disk1.img
Run Code Online (Sandbox Code Playgroud)
但是,我想知道在哪里可以找到有关执行此操作的官方支持文档?我如何为它做出贡献?我有时会遇到问题,如果没有官方说明,我永远不确定是上述命令还是我的部署。我曾两次尝试将这些说明添加到 OpenStack 官方文档和/或随附的 Disqus 评论中,但这些说明会被删除,而且我找不到一致的、受支持的手册来执行此操作,我希望非常基本的过程。
另外,来宾映像的难以捉摸的 cloud-init 选项怎么样?我在哪里可以找到有关如何使用它们的说明?从终端和网络用户界面?我曾经不得不在源代码中寻找这些信息。
到目前为止,我发现的是列出可用图像的网站,但没有说明图像格式的网站- 我总是不得不在谷歌上搜索这些信息。还有的UEC维基,其中列出了如何创建自己的图像,而不是如何使用现有(或预制Ubuntu的云图片)许多食谱。然后是ubuntu.com 上最容易找到的“云”类别,它只链接到一些宣传小册子和无信息的云图像列表。
我知道这是一个半错误报告(我希望看到修复或帮助修复:)),但我也想知道我提出的问题的答案。
我有一组服务器,我想安装 OpenStack,我如何使用 Metal-as-a-Service (MAAS) 安装 OpenStack?
使用当前 Landscape 的“OpenStack Beta”选项在我的 MAAS 设置上部署 OpenStack。我完成了 98%,“配置可用区”失败了 1 次。我的设置使用了 KVM、Open vSwitch,我目前使用 Ceph 进行对象和块存储。当我查看横向机器上的/var/log/landscape/job-handler-1.log时,看到了 100 多个关于以下内容的错误:
2015-03-05 21:18:38 INFO root RetryingCall for '_get_nova_info' 失败,再尝试 103 次:2015-03-05 21:18:38 INFO root 回溯::缺少 4 个新星计算单元
/usr /lib/python2.7/threading.py:783:__bootstrap
/usr/lib/python2.7/threading.py:810:__bootstrap_inner
/usr/lib/python2.7/threading.py:763:run
--- <此处捕获异常> ---
/usr/lib/python2.7/dist-packages/twisted/python/threadpool.py:191:_worker
/usr/lib/python2.7/dist-packages/twisted/python/context. py:118:callWithContext
/usr/lib/python2.7/dist-packages/twisted/python/context.py:81:callWithContext
/usr/lib/python2.7/dist-packages/storm/twisted/transact.py: 76:_包裹
/opt/canonical/landscape/canonical/landscape/model/openstack/jobs.py:751:_get_nova_info
注意:jobs.py 中的行号是关闭的,因为我添加了一些用于调试的打印语句。这是 _get_nova_info() 函数中#741 行附近的断言(如果没记错的话),是的,我正在使用景观 ppa 中最新版本的景观,以确保可信。
所以我修改了/opt/canonical/landscape/canonical/landscape/model/openstack/jobs.py的_get_nova_info()函数来打印出nova_compute_hostnames的长度,我得到了零。因此,我将其追入/opt/canonical/landscape/canonical/landscape/model/openstack/region.py的get_nova_compute_hostnames()并发现self.juju_environment.get_computer_ids().count()也为零。所以我添加了一个对self.juju_environment.has_computers()的调用并得到了false。然后我跑了self.juju_environment.get_juju_home()并得到/var/lib/landscape/juju-homes/20 …
我想尝试MaaS,而且只有两台机器,我可以安装一台带有MaaS服务的,并使用MaaS和juju部署另一台带有openstack nova-compute的裸机吗?
非常感谢您的回答。
我正在尝试使用 nova.network.manager.FlatManager 网络管理器设置 OpenStack,它将(在我的设置中)每个虚拟机连接到 br100 网桥。
在我的主机上,我使用以下网络设置:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.0.50
netmask 255.255.255.0
broadcast 192.168.0.255
gateway 192.168.0.1
auto eth0:0
iface eth0:0 inet static
address 192.168.100.1
netmask 255.255.255.0
broadcast 192.168.100.255
Run Code Online (Sandbox Code Playgroud)
这导致以下接口配置:
eth0 Link encap:Ethernet HWaddr 00:1a:92:08:15:43
inet addr:192.168.0.50 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::21a:92ff:fe08:1543/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:5365 errors:0 dropped:0 overruns:0 frame:0
TX packets:5177 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:572855 (572.8 KB) TX bytes:1812681 (1.8 …Run Code Online (Sandbox Code Playgroud) 我目前正在尝试通过使用带有 9 个节点和 juju 的 MAAS 来进行 openstack 部署。为此,我找到了本指南,使用 ubuntu 12.04 LTS 并尽可能好地遵循它。
经过大量的反复试验,我终于到了应该使用“自定义”配置文件部署 nova-volume 的地步。但是,当我的节点启动并在juju status报告中显示为正在运行时,服务报告安装失败。顺便说一下,我正在尝试使用 juju jitsu 进行安装。我认为这与openstack.cfg文件中的以下语句有关:
nova-volume:
# This must be a free block device that is writable on the nova-volume host.
block-device: "xvdb"
overwrite: "true"
Run Code Online (Sandbox Code Playgroud)
我做了一些研究,发现(至少我认为)这是指 Xen 虚拟驱动器/设备,并且由于该设备不存在于它部署到的节点上,因此安装失败。我不明白的是,我应该如何在完全由 MAAS 管理的机器上使用这样的块设备。这里有没有人有这方面的经验并且知道解决这个问题的方法,或者我在这里遗漏了一些重要的东西。MAAS 和单独的 XEN 主机之间缺少某种链接?我的 MAAS 服务器正在运行 Ubuntu 12.04LTS 服务器。
我必须要机器,{machine-A: will be used as my Master MAAS server with OpenStack}而且{machine-B [Quad Core/16GB RAM/8x HDD]: will be running a KVM where all my nodes will run on}
我想使用我的 MaaS 服务器在 KVM 服务器上创建 7 个节点。然后在 MaaS 服务器上安装 OpenStack,然后使用 OpenStack 在每个节点上创建 Ubuntu 12.04 映像的实例。
注意:这个社区线程上有很多有用的问题,但似乎没有一个能够解释或表述 OpenStack 如何连接到 MaaS 节点的问题。
如果没有 Juju 的帮助,我如何能够使用 OpenStack 在每个节点上创建 Linux 实例?(我似乎不太了解 Ubuntu Cloud Infrastructure with OpenStack 中的那部分。)
我真的需要 Juju 来帮助 OpenStack 连接我的 Maas 节点吗?如果是这样,请参阅下一个问题 -
在 Juju bootstrap 创建完成后,节点在 Juju 状态下启动,OpenStack …
我已经从文档中成功设置了 Open Stack 云:Ubuntu Cloud Infrastructure。
我的 Juju 环境文件:
environments:
maas:
type: maas
maas-server: 'http://192.168.122.4:80/MAAS'
maas-oauth: 'np2beDGZye5ktAGHZC:xEN8GM5BDtWj2ChAW4:rnX9DBQs7Cv2rRZ9g9jxncpYg4uSkTbL'
admin-secret: 'nothing'
default-series: precise
Run Code Online (Sandbox Code Playgroud)
Juju为OpenStack准备的所有节点都有一张网卡。我的MAAS服务器有一张网卡,有DHCP Server。我没有使用任何 DNS,因为我正在使用该/etc/hosts文件来修复它。
问题来了:
当我运行 Juju status 时,我看到 at cloud-compute 与 nova-cloud-controller 之间的关系错误。我能够登录到 OpenStack 仪表板并且可以在除管理计算部分之外的所有部分中移动,这可能是因为这两个服务器之间的错误。
当我运行 Juju debug-log 时,我看到以下结果:
2013-05-06 21:02:53,108 unit:nova-cloud-controller/1: hook.output DEBUG: Flushed values for hook 'cloud-compute-relation-joined' on 'cloud-compute:22'
Setting changed: u'ec2_host'=u'node-aabbccddeef4.localdomain' (was unset)
Setting changed: u'network_manager'=u'FlatDHCPManager' (was unset)
Setting changed: u'volume_service'=u'nova-volume' (was unset)
2013-05-06 21:02:53,108 unit:nova-cloud-controller/1: hook.executor DEBUG: Hook complete: /var/lib/juju/units/nova-cloud-controller-1/charm/hooks/cloud-compute-relation-joined
2013-05-06 …Run Code Online (Sandbox Code Playgroud) openstack ×10
juju ×7
maas ×7
cloud ×2
cloud-init ×1
kvm ×1
landscape ×1
networking ×1
uec ×1
xen ×1