是否可以使用 charm 要求 juju 启动另一台机器、添加服务实例或销毁实例?例如,通过执行与 juju gui 类似的操作:例如,juju gui 如何执行机器创建?例如,我想要一个可以监控其他服务并添加实例以进行扩展的服务。
答案1
有几种方法可以实现这一点。
安装并调用 Juju 二进制文件
charms.reactive 层位于https://github.com/galgalesh/juju-client执行此操作。基本过程是首先引导环境,然后部署一个 charm,传入控制环境所需的所有配置、状态和机密文件。该 charm 安装 juju 客户端,重建 ~/.juju,现在可以从内部控制环境。
此层仍处于实验阶段。如果您遇到任何问题,请在 github repo 中提交错误报告。
使用 Python Juju 客户端
有一个用于管理 Juju 环境的 Python 客户端。此客户端调用 Juju api。您可以将其放在 Charm 中。
使用 Go API
你可以在这里找到 go api:https://godoc.org/github.com/juju/juju/api
使用 Perl 绑定
如果你对这类东西感兴趣:https://metacpan.org/release/Juju
直接调用api
有关更多信息,请参阅以下问题:有 Juju REST API 吗?