我有几个systemd-nspawn
容器,我想通过它们连接ansible
并在每个容器上运行一系列脚本。
传统方式是使用 SSH 连接,我在其他环境中这样做。在这种情况下,Ansible playbook 将在未安装 SSH 的同一主机上运行的容器上运行。
是否可以配置 playbook 以便它使用shell
容器的命令来运行其模块?
如果不是,我将在它们上安装 SSH,或者使用salt
它将从容器中获取它的调用。
我有几个systemd-nspawn
容器,我想通过它们连接ansible
并在每个容器上运行一系列脚本。
传统方式是使用 SSH 连接,我在其他环境中这样做。在这种情况下,Ansible playbook 将在未安装 SSH 的同一主机上运行的容器上运行。
是否可以配置 playbook 以便它使用shell
容器的命令来运行其模块?
如果不是,我将在它们上安装 SSH,或者使用salt
它将从容器中获取它的调用。
您应该查看连接插件并通过ansible_connection
为库存中作为 nspawn 容器的每个主机设置 var 来使用它。
如果您没有找到适合您的情况,您可以在本地开发一个(灵感来自 docker one eg)然后在配置中引用它defaults.connection_plugins