我有一本大型Ansible剧本,运行时会在其中构建Docker映像。我正在使用越来越多的标签作为版本的标签。当前,我必须在每个hosts:
部分中指定此内容。
我知道有全局变量,但是从我通过搜索“可行的”“全局变量”中发现的内容来看,它们必须在剧本之外进行定义。是否可以定义对于剧本是全局的全局变量?
如果您使用的标记/版本适用于所有主机,则使用group_vars / all是一个可行的选择。
如果修订号特定于host_vars / host_name文件中的每个主机条目,则可能更好。
如果您想读取并初始化var,然后在每次播放后增加var,则很难在播放簿中将这些信息(或您所说的每个-hosts)持久保存在该播放器中。例如,如果您打算部署N个Docker实例,则可以执行一些动态清单魔术,如下所示:
- hosts: localhost
tasks:
- add_host: name=docker_{{item}} groups="dockers,other" tag={{item}}
with_sequence: start={{ext_def_start}} count={{ext_def_num}}
- hosts: docker_*
tasks:
- debug: var=tag
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句