如何解读 juju 中的 bundle

如何解读 juju 中的 bundle

我如何解读 juju 包?例如,它是一个包含实例等的 wiki 包,以及带有 memcache 的 mysql 配置。charms deploy 没有建立任何关系,也没有公开任何服务。

一个人如何去读取 yaml 文件以便可以手动完成部署包并具有正确的关系等等?

在下面的这个例子中,我可以弄清楚其中的一些。问题是,amqp 从何而来?在第一部分中,我可以看到需要部署哪些 charms,并了解它们将出现在画布上的什么位置。

在关系部分,我可以看到 keystone 和 mysql 之间的关系。我没问题,直到我看到

“mysql:共享数据库”--“nova-cloud-controller:amqp”-“rabbitmq-server:amqp”

这个 amqp 是什么意思?我见过它在面向公众的 juju charms 网站上部署,但在我看来它不会在本地部署。任何有助于理解这一点的帮助都将不胜感激。

openstack:
services:
mysql:
charm: "cs:precise/mysql-27"
num_units: 1
annotations:
"gui-x": "572"
"gui-y": "428"
"rabbitmq-server":
charm: "cs:precise/rabbitmq-server-14"
num_units: 1
annotations:
"gui-x": "300.2281494140625"
"gui-y": "601.203857421875"
keystone:
charm: "cs:precise/keystone-21"
num_units: 1
annotations:
"gui-x": "1250"
"gui-y": "-582.5"
"nova-compute":
charm: "cs:precise/nova-compute-15"
num_units: 1
options:
"openstack-origin": "cloud:precise-grizzly"
annotations:
"gui-x": "1724.643310546875"
"gui-y": "710"
"nova-cloud-controller":
charm: "cs:precise/nova-cloud-controller-17"
num_units: 1
options:
"network-manager": Quantum
"openstack-origin": "cloud:precise-grizzly"
annotations:
"gui-x": "199.90336276669336"
"gui-y": "-472.5381696646418"
glance:
charm: "cs:precise/glance-22"
num_units: 1
options:
"openstack-origin": "cloud:precise-grizzly"
annotations:
"gui-x": "2012.591386603307"
"gui-y": "-193.16855882682512"
cinder:
charm: "cs:precise/cinder-12"
num_units: 1
options:
"openstack-origin": "cloud:precise-grizzly"
annotations:
"gui-x": "1184.4137742986195"
"gui-y": "937.8314411731749"
"quantum-gateway":
charm: "cs:precise/quantum-gateway-9"
num_units: 1
options:
"openstack-origin": "cloud:precise-grizzly"
annotations:
"gui-x": "2011.4137742986195"
"gui-y": "440.0091755481749"
"openstack-dashboard":
charm: "cs:precise/openstack-dashboard-11"
num_units: 1
annotations:
"gui-x": "1890.413896368932"
"gui-y": "-576.9908244518251"
relations:
- - "keystone:shared-db"
- "mysql:shared-db"
- - "nova-cloud-controller:cloud-compute"
- "nova-compute:cloud-compute"
- - "nova-cloud-controller:shared-db"
- "mysql:shared-db"
- - "nova-cloud-controller:amqp"
- "rabbitmq-server:amqp"
- - "nova-cloud-controller:identity-service"
- "keystone:identity-service"
- - "nova-compute:amqp"
- "rabbitmq-server:amqp"
- - "nova-compute:shared-db"
- "mysql:shared-db"
- - "nova-cloud-controller:image-service"
- "glance:image-service"
- - "nova-compute:image-service"
- "glance:image-service"
- - "glance:identity-service"
- "keystone:identity-service"
- - "glance:shared-db"
- "mysql:shared-db"
- - "nova-cloud-controller:cinder-volume-service"
- "cinder:cinder-volume-service"
- - "cinder:amqp"
- "rabbitmq-server:amqp"
- - "cinder:shared-db"
- "mysql:shared-db"
- - "cinder:identity-service"
- "keystone:identity-service"
- - "nova-cloud-controller:quantum-network-service"
- "quantum-gateway:quantum-network-service"
- - "quantum-gateway:amqp"
- "rabbitmq-server:amqp"
- - "quantum-gateway:shared-db"
- "mysql:shared-db"
- - "openstack-dashboard:identity-service"
- "keystone:identity-service"

答案1

你可能会更幸运地破译一个比 openstack 更简单的魅力:)

amqp是关系名称,它使用参见此处的 metadata.yaml 文件rabbitmq中的接口进行通信:nova-cloud-controller

有关关系和接口的详细描述请参阅:

相关内容