有人可以解释以下文本中以下键值对的含义吗?(或分享解释此问题的链接。我浏览了链接http://pythonhosted.org/juju-deployer/config.html#placement但理解起来有困难)。它是部署openstack的yaml包的一部分。
基石:
annotations:
gui-x: '500'
gui-y: '0'
charm: cs:trusty/keystone-31
num_units: 1
options:
admin-password: openstack
ha-mcastport: 5403
openstack-origin: cloud:trusty-liberty
to:
- lxc:3
答案1
让我们看看您的软件包。首先,我们需要确保我们都在查看同一个文件;通过在 Google 上搜索您的配置,我认为我正在查看:
- https://jujucharms.com/openstack-base/bundle/38/
- https://api.jujucharms.com/charmstore/v4/bundle/openstack-base-38/archive/bundle.yaml
(请使用您正在部署的确切文件来编辑您的问题,这将有助于消除歧义)
在 Charm 商店的每一页末尾,都有每个 Charm 的配置选项列表,因此让我们看看 Keystone:
您可以放心地忽略该annotations
片段,它只是在 Juju GUI 中放置图标的 X/Y 坐标。
charm: cs:trusty/keystone-31
:这可以分解为“charm 商店中值得信赖的 (14.04) charm 的第 31 次修订版”。num_units
:这意味着您将获得 1 个 Keystone 单位。这意味着一个容器或机器(我们稍后会看到其定义)。
好的,现在说说好的部分,选项,前两个非常简单:
admin-password
:(字符串)管理员密码。要使用仅供测试. 默认随机生成。
ha-mcastport
:(int)用于 HA 集群节点间通信的默认多播端口号。
由于格式问题,该条目不太好看,因此我将在此处复制它:
openstack-origin
:(字符串)要安装的存储库。可能是以下之一:
distro
(默认),
ppa:somecustom/ppa
、一个 deb url 源条目、或者一个受支持的 Cloud Archive 发布包。支持的云存档源包括:cloud:- cloud:-/updates cloud:-/staging cloud:-/proposed
对于 series=Precise,我们支持 openstack-release 的云档案:* icehouse 对于 series=Trusty,我们支持 openstack-release 的云档案:* juno * kilo * ...
注意:将此设置更新为已知提供更高版本 OpenStack 的源将触发软件升级。注意:当指定 openstack-origin-git 时,openstack 特定软件包将从源而不是 openstack-origin 存储库安装。distro
我感觉你现在想将其保留为默认设置。
我认为您在这里要求澄清(如果不是这种情况,请编辑您的问题):
to:
- lxc:3
好的,那这意味着什么?让我们看看这个包的顶部:
machines:
'0':
constraints: arch=amd64
series: trusty
'1':
constraints: arch=amd64
series: trusty
'2':
constraints: arch=amd64
series: trusty
'3':
constraints: arch=amd64
series: trusty
在本节中,我们将声明云上的机器,这意味着我们要求 0-3 台机器,总共 4 台。该包的每个部分都有一个to:
部分。这意味着我们告诉 Juju确切地您希望单位去往何处。
在这种情况下to: lxc:3
,意味着将 keystone 放在 3 号机器上的 LXC 容器中。
再举一个例子,看看我们将 Ceph 放在哪里:
to:
- '1'
- '2'
- '3'
没有lxc:
那里,也就是说没有容器,只需将 ceph 放在机器 1、2 和 3 上。让我们看看`ceph-radosgw:
to:
- lxc:0
这意味着将 ceph-radosgw 放在机器 0 上的一个容器中。
那么我们为什么要这样做呢?嗯,有些服务不需要无处不在,这取决于用例,如果您想要更密集的云,那么这个捆绑包可能就是您想要的。如果您正在测试 openstack,那么在四台机器上获得一个可操作的原型是可取的。如果您想要更大的容量,那么您可以随意编辑捆绑包,删除to:
您看到的所有语句,Juju 只会要求 MAAS 每个服务使用一台机器;但这将占用更多机器。