ansible使用2--hosts文件的INI和YAML模式

2、hosts文件的INI和YAML模式

可以用all关键字 一次性操作清单中的所有主机

[root@self1-centos7-2 ~]# ansible all -m ping        
		self2-1 | SUCCESS => {
		    "ansible_facts": {
		        "discovered_interpreter_python": "/usr/bin/python"
		    }, 
		    "changed": false, 
		    "ping": "pong"
		}
		self1-1 | SUCCESS => {
		    "ansible_facts": {
		        "discovered_interpreter_python": "/usr/bin/python"
		    }, 
		    "changed": false, 
		    "ping": "pong"
		}
		10.2.0.7 | SUCCESS => {
		    "ansible_facts": {
		        "discovered_interpreter_python": "/usr/bin/python"
		    }, 
		    "changed": false, 
		    "ping": "pong"
		}

主机分组

INI配置风格

		vim /etc/ansible/hosts
		[web]
		10.2.0.7    ansible_port=22
		self2-1 ansible_host=10.2.0.5    ansible_port=22
		[database]
		self1-1 ansible_host=10.1.0.10   ansible_port=22
		[webservice:children] 前两个组属于webservice的子组
		web
		database

YAML配置语法,只能用空格缩进

	all:
	 hosts:
	   10.1.0.10          
	   10.2.0.7           
	   10.2.0.5

				#上例相当于如下INI配置
				10.1.1.60
				10.1.1.61

对应上面ini模式的YAML

	all:
	 hosts
	 xxxxx(不属于任何组的host)
	 children:

对应如下
方法一,使用ip

				all:
				 children:
				  webservice:
				   children:
				    web:
				     hosts:
				       10.2.0.7
				       10.2.0.5
				    database:
				     hosts:
				       10.1.0.10

方法二,使用名字

				all:
				 children:
				  webservice:
				   children:
				    web:
				     hosts:
				       10.2.0.7:       //注意这里的:后面没内容也得加
				       self2-1:
				        ansible_host: 10.2.0.5    
				        ansible_port: 22
				    database:
				     hosts:
				       self1-1:
				        ansible_host: 10.1.0.10   
				        ansible_port: 22

注:ip和port之前必须有空格,YAML语法。比较麻烦,但是编写剧本时需要用YAML。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值