标签:ansible
在主机清单主机中定义变量- 这里101主机定义的http_port是85,102直接定义的是86,虽然变量名都是同一个,针对不同的主机可以设置不同的值
- 然后我们可以调用用命令行
[root @ ansible?]#ansible webser -m hostname -a'name = web {{http_port}}'//修改主机名,会针对不同的主机的变量值不一样[root @ ansible?]#ansible webser -a'hostname'192.168.27.101 | 成功| rc = 0 >>web85这是针对某个主机设置不同的值192.168.27.102 | 成功| rc = 0 >>web86
也可定义多个变量,并在剧本中使用
[root @ ansible ansible]#vim var4.yml---- 主持人:webser remote_user:root 任务: - 名称:设置主机名 hostname:name = {{hostname}} - {{http_port}}[root @ ansible ansible]#ansible webser -a'主机名'192.168.27.101 | 成功| rc = 0 >>web1-88192.168.27.102 | 成功| rc = 0 >>web2-86
如果我们人为的用-e指定变量值,则会以-e定义的参数为准,不会调用主机中的变量
[root @ ansible ansible]#ansible-playbook -e“http_port = 9090 hostname = abc.com”var4.yml[root @ ansible ansible]#ansible webser -a'主机名'192.168.27.101 | 成功| rc = 0 >>abc.com-9090192.168.27.102 | 成功| rc = 0 >>abc.com-9090
标签:ansible
原文地址:http://blog.51cto.com/13675040/2114595