Как запустить ansible в контейнере nspawn с помощью команд оболочки?
У меня есть несколько systemd-nspawn
контейнеры, к которым я хотел бы подключиться через ansible
и запустить серию сценариев на каждом из них.
Традиционным способом является использование SSH-соединения, я делаю это для других сред. В этом случае книга воспроизведения Ansible будет запускаться на контейнерах, работающих на том же хосте, на которых не установлен SSH.
Можно ли настроить playbook так, чтобы он использовал shell
команда контейнеров для запуска своих модулей?
Если нет, то я либо установлю на них SSH, либо использую salt
который будет исходить из вызовов из контейнеров.
1 ответ
Вы должны взглянуть на подключаемые плагины и использовать его, установив ansible_connection
var для каждого хоста, являющегося контейнером nspawn в вашем инвентаре.
Если вы не можете найти тот, который соответствует вашей ситуации, вы можете разработать его локально (например, из докера), а затем ссылаться на него с помощью конфигурации. defaults.connection_plugins