Каков наилучший способ контролировать очарование Джуджу?
Можно ли заклинанию попросить Джуджу запустить другую машину, добавить экземпляры службы или уничтожить экземпляры? Например, делая что-то похожее на juju gui: как, например, juju gui выполняет создание машин? Мне нужна служба, которая отслеживает другие службы и добавляет экземпляры для масштабирования, например.
1 ответ
Есть несколько способов, которыми это возможно.
Установка и вызов Juju бинарных файлов
Слой charms.reactive на https://github.com/galgalesh/juju-client делает это. Основной процесс состоит в том, чтобы сначала загрузить среду, а затем развернуть заклинание, передавая все файлы конфигурации, состояния и секреты, необходимые для управления средой. Очарование устанавливает клиент juju, перестраивает ~ /.juju и теперь может управлять средой изнутри.
Этот слой все еще экспериментален. Если у вас возникнут какие-либо проблемы, подайте отчет об ошибке в репозитории github.
Использование клиента Python Juju
Существует клиент Python для управления средами Juju. Этот клиент называет Juju api. Вы могли бы поместить это в Очарование.
Использование Go API
Вы можете найти go api здесь: https://godoc.org/github.com/juju/juju/api
Использование привязок Perl
Если вы в такой вещи: https://metacpan.org/release/Juju
Вызов API напрямую
Для получения дополнительной информации см. Этот вопрос: есть ли Juju REST API?