我的 MAAS 环境中有两台机器
- 第一个是 Juju 引导机,第二个是普通节点。
- 他们俩都在跑步状态。
- 我使用“juju deploy mysql”部署了 mysql,并发出“juju status”命令,发现已添加了一台新机器,其 instance-id=pending 和 series=trusty。
- 过了一会儿,那台机器进入了错误状态。以下是我的 juju status 命令的输出
machines:
"0":
agent-state: started
agent-version: 1.20.11
dns-name: juju.maas
instance-id: /MAAS/api/1.0/nodes/node-84c0dada-6aa0-11e4-8b62-52540059ce08/
series: trusty
hardware: arch=amd64 cpu-cores=1 mem=1024M tags=virtual
state-server-member-status: has-vote
"3":
agent-state: started
agent-version: 1.20.11
dns-name: node0.maas
instance-id: /MAAS/api/1.0/nodes/node-796b82da-6aea-11e4-860c-52540059ce08/
series: trusty
hardware: arch=amd64 cpu-cores=2 mem=2048M tags=virtual
"4":
agent-state-info: 'cannot run instances: gomaasapi: got error back from server:
409 CONFLICT (No matching node is available.)'
instance-id: pending
series: trusty
services:
mysql:
charm: cs:trusty/mysql-11
exposed: false
relations:
cluster:
- mysql
units:
mysql/0:
agent-state: pending
machine: "4"
我的问题:Juju 为什么要创建新的“机器”?这里的“机器”的定义是什么?它是 LXC 容器吗?
笔记:我使用虚拟机设置了我的 MAAS。
答案1
Juju 中的机器是什么?
机器是什么,是与环境相关的。机器是提供者的一个实例。如果您使用 digitalocean 作为提供商,则机器将是 digitalocean VPS。如果您使用本地提供商,则它将是 LXC 容器。或者在您的情况下,您使用 MAAS 作为提供商,它是 MAAS 机器(在您的情况下是 VM)。
为什么 juju 要创造一台新机器?
deploy 的默认行为是为其部署的每个单元创建一个新机器。您可以使用 将 charm 部署到特定机器juju deploy mysql --to 3
。这将把 mysql charm 部署到机器 3。有关将魅力部署到特定机器的更多信息。
如果您不使用该--to
选项,juju 会向提供商(在您的情况下是 MAAS)请求一台新机器。如果提供商没有准备好任何机器,则会给出错误。这是您收到的错误。MAAS 没有准备好任何机器。