二、Ansible配置文件
2.1 配置文件详解
-
[defaults]:通用配置项
-
[inventory]:与主机清单相关的配置项
-
[privilege escalation]:特权升级相关的配置项
-
[paramiko connection]:与paramiko相关的配置项,rhel6以前默认的ssh方式
-
[ssh connection]:与ssh相关的配置项,rhel6以后默认的ssh方式
-
[persistent connection]:持久连接相关的配置项
-
[accelerate]:加速相关的配置项
-
[selinux]:与selinux相关的配置项
-
[colors]:ansible输出颜色相关的配置项
-
[diff]:定义是否在运行时打印diff (变更前与变更后的差异)
常用配置介绍
[defaults]
# 定义主机清单文件路径
inventory = /etc/ansible/hosts
# 定义roles的路径
roles_path = /etc/ansible/roles
# 定义ansible日志路径
log_path = /var/log/ansible.log
# 远程的用户名
remote_user = devops
# 定义ssh远程端口
remote_port = 22
# 远程的时候是否询问密码
ask_pass = False
[privilege_escalation]
# 是否开启提权
become=True
# 提权方式sudo
become_method=sudo
# 提权到的用户
become_user=root
# 提权的时候需要需要验证密码
become_ask_pass=False
[ssh_connection]
# 开启ssh加速
ssh_args = -C -o ControlMaster=auto -o ControlPersist=60s
# ssh是否提示保存公钥
host_key_checking = False
2.2 配置文件优先级
ansible的配置文件名为ansible.cfg,当用户执行ansible命令后,ansible会从以下4个地方读取配置文件:
- 环境变量:优先级最高的是环境变量,当ANSIBLE_CONFIG,ansible会优先使用ANSIBLE_CONFIG所定义的配置文件。
- 当前工作目录:第二优先级是当前所在路径的ansible.cfg
- 用户家目录:第三优先级的是~/.ansible.cfg配置文件
- 默认配置文件:优先级最低的是/etc/ansible/ansible.cfg配置文件