二、Ansible配置文件

发布时间 2023-12-13 17:28:57作者: 相信童话

二、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个地方读取配置文件:

  1. 环境变量:优先级最高的是环境变量,当ANSIBLE_CONFIG,ansible会优先使用ANSIBLE_CONFIG所定义的配置文件。
  2. 当前工作目录:第二优先级是当前所在路径的ansible.cfg
  3. 用户家目录:第三优先级的是~/.ansible.cfg配置文件
  4. 默认配置文件:优先级最低的是/etc/ansible/ansible.cfg配置文件