1、正常写法
name1 ansible_ssh_host=192.168.8.111 ansible_ssh_user="root" ansible_ssh_pass="123456" ansible_ssh_port=22 name2 ansible_ssh_host=192.168.8.222 ansible_ssh_user="root" ansible_ssh_pass="123456" ansible_ssh_port=22
2、连续的IP写法,表示192.168.1.20到192.168.1.50,共31台主机:
[test1] name1 ansible_ssh_host=192.168.1.[20:50] ansible_ssh_user="root" ansible_ssh_pass="1234" ansible_ssh_port=22
3、带参数的群组,vars底下为群组共同便变量,包括已定义变量和自定义变量:
[test1] name1 ansible_ssh_host=192.168.1.[20:50] [test1:vars] ansible_ssh_user=root ansible_ssh_pass="1234" testvar="test"
4、群组整合,children底下为父群组test的子群组,调用方式为ansible test -m ping:
[dbtest] name1 ansible_ssh_host=192.168.1.[20:50] ansible_ssh_user="root" ansible_ssh_pass="1234" ansible_ssh_port=22 [webtest] name2 ansible_ssh_host=192.168.2.[20:50] ansible_ssh_user="root" ansible_ssh_pass="1234" ansible_ssh_port=22 [test:children] dbtest webtest
5、调用两个主机组的写法,以下webservers和dbservers都会被调用:
ansible webservers:dbservers -m win_ping
6、在webservers组中但不在dbsersers中的调用:
ansible webservers:!dbservers -m win_ping
7、在webservers组中并且在dbservers组中的才会调用:
ansible webservers:&dbservers -m win_ping
8、ansible配置文件
在配置文件里面配置用户和端口,就可以不要在host里面配置指定里,ansible 有许多参数,下面我们列出一些常见的参数:
inventory = /etc/ansible/hosts #这个参数表示资源清单inventory文件的位置 library = /usr/share/ansible #指向存放Ansible模块的目录,支持多个目录方式,只要用冒号(:)隔开就可以 forks = 5 #并发连接数,默认为5 sudo_user = root #设置默认执行命令的用户 remote_port = 22 #指定连接被管节点的管理端口,默认为22端口,建议修改,能够更加安全 host_key_checking = False #设置是否检查SSH主机的密钥,值为True/False。关闭后第一次连接不会提示配置实例 timeout = 60 #设置SSH连接的超时时间,单位为秒 log_path = /var/log/ansible.log #指定一个存储ansible日志的文件(默认不记录日志)
9、添加sudo密码:
开启become,参考10
#添加ansible_become_password=123 #这里的密码是zhangsan的密码用于在sudo的时候交密码用 [master] 192.168.1.21 ansible_ssh_user=zhangsan ansible_ssh_pass=123 ansible_become_password=123
10、开启become
编辑 /etc/ansible/ansible.cfg配置文件: become=True #将这个注释去掉
标签:22,192.168,host,ansible,ssh,user From: https://www.cnblogs.com/fanlong0212/p/16598938.html