如何使用 juju 管理多个环境?

如何使用 juju 管理多个环境?

如果我定义了多个 juju 环境,我经常想在其中一个上运行一系列命令。每次调用时都指定 -e 相当繁琐,但每次切换项目时更改默认值也很烦人。我是否可以在 shell 会话中设置环境变量来指定所有后续 juju 命令应针对哪个环境运行?

答案1

有三种方法可以在命令行中管理 Juju 环境。一种方法是将“default”YAML 键设置为您想要默认使用的环境:

default: devel
environments:
  production:
    ...
  devel:
    ...
  staging:
    ...

您可以default通过在每个 Juju 命令中传递一个标志来覆盖 environment.yaml 键-e,该值设置为您想要使用的环境:

juju bootstrap -e staging
juju deploy -e staging mysql
juju status -e production
juju destroy-environment -e devel

最后,Juju 将寻找JUJU_ENV环境变量。您可以导出它然后将其重置为空字符串或新值,以避免更改 environment.yamldefault键或使用-e标志

marco@work:~$ export JUJU_ENV=production
marco@work:~$ juju bootstrap
2012-11-14 13:55:44,235 INFO Bootstrapping environment 'production' (origin: ppa type: ec2)...
2012-11-14 13:55:45,567 INFO 'bootstrap' command finished successfully

marco@work:~$ export JUJU_ENV=local
marco@work:~$ juju status
2012-11-14 13:55:39,504 INFO Connecting to environment...
2012-11-14 13:55:40,179 ERROR juju environment not found: is the environment bootstrapped?

相关内容