fanlong0212

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

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       #将这个注释去掉

 

posted on 2022-08-18 15:39  fanlong0212  阅读(187)  评论(0编辑  收藏  举报