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



猜你喜欢

转载自blog.51cto.com/13675040/2114595