【发布时间】:2021-08-16 10:55:14
【问题描述】:
通常在 ansible 中,您总是为特定的剧本定义特定的主机。但是,如果我想为多个主机运行剧本怎么办?
为了更清楚一点:我有以下组:
- 网络服务器
- 开发客户
以及以下剧本:
- 安装主要软件
- 安装 certbot
- 安装 nginx
- 安装 vscode
出于显而易见的原因,肯定 nginx 剧本应该有条目:hosts: Webservers 但main software 剧本是什么。这个剧本应该包括两个主机。
最后我想要有许多不同的剧本和组,我唯一想要执行的是:ansible-playbook ~/playbooks/webservers.yml,这会触发:“main software, certbot, nginx...” via include。但是,如果不编辑包含在 webservers.yml 中的每个剧本的主机部分,这将不起作用。
是否可以从包含它的主剧本告诉剧本它应该在主机上运行? 比如:webservers.yml -> hosts -> nginx.yml -> 在webservers.yml中输入的所有客户端上运行?
你们中有人有想法吗?或者这只是 ansible 无法实现的?
问候
【问题讨论】: