我想问一下 juju 机器和 juju 单元之间的主要区别。
此外,魅力和机器(LXD 或整个 VM)之间的关系是一对一的,对吗?
不可能嵌套 LXD(以及嵌套魅力),对吗?
谢谢
答案1
1)juju 机器 vs juju 单位
- juju 机器指的是云环境中的真实机器。以下是一些示例:
- 当您使用 AWS 并将 juju 机器添加到模型中时,您将在 AWS 仪表板中看到在您的云中创建了一台新机器。这也适用于 Google Cloud Environment。
- 当您拥有支持 LXD 容器的 Maas 设置时,您将看到
juju status
您拥有一些机器,如机器 1、2、3 等,以及该模型中的一些容器,如 1/lxd/0、1/lxd/2 等...这些机器是运行在您的 Maas 设置中的实际机器,这些容器在这些机器上运行。这就是那些 juju 机器。
- Juju 单元是运行在这些机器或容器上的服务的实例。当您将 mysql 之类的 charm 部署到机器时,该应用程序的新单元将添加到您的模型中,并将在指定的机器上部署和运行
2)关系魅力-机器
- 我不会真的称其为关系,因为机器实际上并不只与那个 charm 绑定。通过部署 charm,机器被创建并且服务可以在该机器上运行。一台机器上可以部署多个 charm。这种情况总是发生在下属 charm 上。所以如果你想以关系的方式看待它,它是一个
n:1 relation
(其中 n 是 charm)
3)嵌套LXD
- 如果您使用的是使用 LXD 容器的 juju 环境,则默认情况下无法嵌套容器。 尝试此操作的最佳方法是引导本地 LXD 控制器,并尝试使用标志将 charms 部署到模型中的 LXD 容器
--to lxd:1
。 LXD 中似乎有一个选项可以配置它,以便在 LXD 容器中可以嵌套。 有关于该主题的一些信息这里。
答案2
我记得,上次我使用 Ubuntu MaaS 和 Juju 时,原始示例和文档建议你至少需要五个节点才能启动 OpenStack。我想要做的是将几个服务放到一台更大的计算机上,然后使用许多较小的计算机来处理其他事情。
我正在努力本文档, 物有所值。
我可以稍微重新创建一些步骤来针对 LXC,而不是只为一个服务使用整个节点。
// Start deploying to node 0 * juju deploy --to lxc:0 mysql Added charm "cs:trusty/mysql-28" to the environment * juju deploy --to lxc:0 rabbitmq-server Added charm "cs:trusty/rabbitmq-server-34" to the environment * juju deploy --config=openstack.cfg --to lxc:0 keystone Added charm "cs:trusty/keystone-28" to the environment * juju deploy --config=openstack.cfg --to lxc:0 nova-cloud-controller Added charm "cs:trusty/nova-cloud-controller-60" to the environment ...
这样,我就可以把繁重的工作分摊到一个或两个较大的节点上,然后把剩下的留给nova-计算据我回忆。