手动配置的机器上 juju 部署出现错误

手动配置的机器上 juju 部署出现错误

当我尝试使用 juju 在手动配置的机器上部署服务时出现以下错误:

juju deploy juju-gui --show-log
2014-05-20 13:42:31 INFO juju.cmd supercommand.go:302 running juju-1.18.3-unknown-amd64 [gc]
2014-05-20 13:42:31 INFO juju api.go:242 connecting to API addresses [j93716.servers.jiffybox.net:17070]
2014-05-20 13:42:31 INFO juju apiclient.go:114 state/api: dialing "wss://xxx.xxx.net:17070/"
2014-05-20 13:42:31 INFO juju apiclient.go:124 state/api: connection established
Added charm "cs:trusty/juju-gui-2" to the environment.
2014-05-20 13:42:46 ERROR juju.cmd supercommand.go:305 cannot assign unit "juju-gui/0" to machine: cannot assign unit "juju-gui/0" to new machine or container: cannot assign unit "juju-gui/0" to new machine: use "juju add-machine ssh:[user@]<host>" to provision machines

juju status 输出以下内容:

environment: manual
machines:
  "0":
    agent-state: started
    agent-version: 1.18.3
    dns-name: xxx.xxx.xxx.xxx
    instance-id: 'manual:'
    series: precise
    hardware: arch=amd64 cpu-cores=1 mem=1996M
  "1":
    agent-state: started
    agent-version: 1.18.3
    dns-name: xxx.xxx.xxx.yyy
    instance-id: manual:xxx.xxx.xxx.net
    series: precise
    hardware: arch=amd64 cpu-cores=1 mem=1996M
services:
  juju-gui:
    charm: cs:trusty/juju-gui-2
    exposed: true
    units:
      juju-gui/0:
        agent-state: pending

我错过了什么?

答案1

根据 juju status 输出来判断,您已经引导了一个手动环境(使用juju bootstrap,这与手动配置不同,使用 完成juju add-machine ssh:[user@]host)。

手动环境比较特殊 - 它们仅由一台机器组成,并且无法自动启动或停止其他机器,包括在 上juju deploy。要添加另一台机器,juju add-machine ssh:[user@]host请先使用,然后使用juju deploy juju-gui --to #,其中 # 是您刚刚添加的机器的 juju 机器 id(运行juju status即可查看)。您还可以使用juju deploy juju-gui --to 0在引导机器上部署 Juju GUI。

juju add-machine ssh:[user@]host可以在任何引导环境中使用,以手动配置外部机器并将其添加到环境中。但在手动引导环境中,这是添加机器的唯一方法,并且您必须在部署时明确指定服务和单元的位置--to <machine-id>

我希望这能消除任何疑惑。我想我们肯定需要更好的文档。

相关内容