チャームを使用して、juju に別のマシンを起動したり、サービスのインスタンスを追加したり、インスタンスを破棄したりすることは可能ですか? たとえば、juju gui に似た操作を行うことで、juju gui がマシンの作成を実行する方法などです。 たとえば、他のサービスを監視し、スケールアウトするためにインスタンスを追加するサービスが必要です。
答え1
これを実現する方法はいくつかあります。
Jujuバイナリのインストールと呼び出し
charms.reactiveレイヤーhttps://github.com/galgalesh/juju-clientはこれを行います。基本的なプロセスは、まず環境をブートストラップし、次に環境を制御するために必要なすべての構成、状態、およびシークレット ファイルを渡すチャームを展開することです。チャームは juju クライアントをインストールし、~/.juju を再構築して、内部から環境を制御できるようになります。
このレイヤーはまだ実験段階です。問題が発生した場合は、github リポジトリにバグレポートを提出してください。
Python Jujuクライアントの使用
そこにはJuju 環境を管理するための Python クライアントこのクライアントは Juju API を呼び出します。これを Charm に組み込むことができます。
Go APIの使用
Go API はここで見つかります:出典: jujuju
Perlバインディングの使用
そういうものに興味があるなら:https://metacpan.org/release/Juju
APIを直接呼び出す
詳細については、次の質問を参照してください。Juju REST APIはありますか?