是否有可能要求 juju 啟動另一台機器、新增服務實例或銷毀實例?例如,透過做一些類似 juju gui 的事情:juju gui 如何執行機器的創建?例如,我希望有一項服務可以監視其他服務並添加實例以進行橫向擴展。
答案1
有幾種方法可以實現這一點。
安裝和調用 Juju 二進位文件
charms.reactive 層位於https://github.com/galgalesh/juju-client做這個。基本流程是先引導環境,然後部署一個超級按鈕,傳遞控制環境所需的所有配置、狀態和機密文件。 charm 安裝 juju 用戶端,重建 ~/.juju,現在可以從內部控制環境。
層仍處於實驗階段。如果遇到任何問題,請在 github 儲存庫中提交錯誤報告。
使用 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 嗎?