Как запустить ansible в контейнере nspawn с помощью команд оболочки?

У меня есть несколько systemd-nspawn контейнеры, к которым я хотел бы подключиться через ansible и запустить серию сценариев на каждом из них.

Традиционным способом является использование SSH-соединения, я делаю это для других сред. В этом случае книга воспроизведения Ansible будет запускаться на контейнерах, работающих на том же хосте, на которых не установлен SSH.

Можно ли настроить playbook так, чтобы он использовал shell команда контейнеров для запуска своих модулей?

Если нет, то я либо установлю на них SSH, либо использую salt который будет исходить из вызовов из контейнеров.

1 ответ

Вы должны взглянуть на подключаемые плагины и использовать его, установив ansible_connection var для каждого хоста, являющегося контейнером nspawn в вашем инвентаре.

Если вы не можете найти тот, который соответствует вашей ситуации, вы можете разработать его локально (например, из докера), а затем ссылаться на него с помощью конфигурации. defaults.connection_plugins

Другие вопросы по тегам