![如何在非 MAAS 环境中的专用 OpenStack 可用区域/聚合上“juju deploy”?](https://linux22.com/image/1205111/%E5%A6%82%E4%BD%95%E5%9C%A8%E9%9D%9E%20MAAS%20%E7%8E%AF%E5%A2%83%E4%B8%AD%E7%9A%84%E4%B8%93%E7%94%A8%20OpenStack%20%E5%8F%AF%E7%94%A8%E5%8C%BA%E5%9F%9F%2F%E8%81%9A%E5%90%88%E4%B8%8A%E2%80%9Cjuju%20deploy%E2%80%9D%EF%BC%9F.png)
需要解决以下问题: - OpenStack Ocata(Ubuntu 16.04)(部署了 MAAS/Juju),具有多个可用区域/聚合。一些用于测试,一些用于生产 - 在其自己的 OpenStack 域和项目中的测试租户 - 测试租户(Ubuntu 18.04)中的跳转服务器 VM 带有 Juju 2.4 - Juju 控制器(从 OpenStack 云/区域中的跳转服务器引导)(测试租户中没有 MAAS !)
现在,我们要使用“juju deploy”部署一个多节点魅力包,并确保每个 juju 启动的“机器”只会在“测试”可用区域/聚合中的 nova 计算节点上创建。
有什么建议或推荐吗?
问候
PS:我并不想通过这个问题实现:-“juju deploy --to 0 xxx”或“juju add-unit --to 1 xxx”的提示和技巧,因为目标机器必须仍然存在。我正在寻找“绿地”捆绑部署的解决方案。
答案1
部署命令允许区域放置。
以下是“juju deploy --help”命令的示例:
juju deploy mysql --to zone=us-east-1a
(provider-dependent; deploy to a specific AZ)
我相信区域放置与 openstack 兼容,因此目标定位zone=testing
应该可以工作。
答案2
以下正在运行 --> Juju 2.4
$ openstack availability zone list
+-----------+-------------+
| Zone Name | Zone Status |
+-----------+-------------+
| internal | available |
| default | available |
| testzone | available | <--- desired AZ
| nova | available |
+-----------+-------------+
# juju model-config zone='testzone'
# juju deploy cs:ubuntu-12 --constraints "root-disk=8G" --to zone='testzone' ubuntu01
每台部署的机器将在所需的 AZ 中启动。
不起作用的是:
# juju deploy canonical-kubernetes --to zone='testzone'
ERROR flags provided but not supported when deploying a bundle: --to
因此,您必须逐步部署您的服务,并使用单一魅力和关系部署重现魅力包。:-(
我目前正在调查强制将区域归入本地捆绑包的一些可能性。
非常感谢 !