配置文件位置
安装好ansible后可以通过ansible --version
命令来查看一些基础配置
在大多数场景下默认的配置就能满足大多数用户的需求,在一些特殊场景下,用户还是需要自行修改这些配置文件
用户可以修改一下配置文件来修改设置,他们的被读取的顺序如下:
- ANSIBLE_CONFIG (一个环境变量)
- ansible.cfg (位于当前目录中)
- .ansible.cfg (位于家目录中)
- /etc/ansible/ansible.cfg
在上述配置中可以看到config file 为None,一般使用pip安装会出现配置文件为None的情况。可以手动创建一个。
在家目录中创建一个.ansible.cfg文件
vim /home/guoguo/.ansible.cfg
[defaults]
inventory = /home/guoguo/
remote_user = guoguo
private_key_file = /home/guoguo/.ssh/id_rsa
创建好配置文件后,再使用ansible --version
查看就会看到原本为None的config file有了变化
这个配置文件只是一个很简单的示例。一些特殊功能,比如权限提升相关的配置都没有涉及到。
配合上文的主机组配置,可以做一个简单的验证。
[test]
10.0.0.57
10.0.0.39
对主机组test的两台机器做一个连通性测试(注意,ansible的连通性测试是基于ssh的,如果被控主机ssh服务没有开启,或者ssh密钥没有配置正确,即便网络正常,连通性测试也是会失败的)
执行命令ansible test -m ping
如果将其中一台受控主机的ssh关闭,则会连接失败。
配置文件结构
ansible.cfg的配置默认分为八段:
- [defaults]:通用配置
- [inventory]:主机清单相关的配置项
- [privilege_escalation]:特权升级相关的配置项
- [paramiko_connection]:使用paramiko连接的相关配置项,Paramiko在RHEL6以及更早的版本中默认使用的ssh连接方式
- [ssh_connection]:使用OpenSSH连接的相关配置项,OpenSSH是Ansible在RHEL6之后默认使用的ssh连接方式
- [persistent_connection]:持久连接的配置项
- [accelerate]:加速模式配置项
- [selinux]:selinux相关的配置项
- [colors]:ansible命令输出的颜色相关的配置项
- [diff]:定义是否在运行时打印diff(变更前与变更后的差异)