Ansible配置文件ansible.cfg详解

继续自己的博客之路,近期准备将Ansible相关的内容整理一下,和大家分享。

优先级说明
熟悉Linux运维的同学,对于这个就非常有经验了。在Linux中,基本上99%的软件都有一个配置文件,而这些配置文件中配置了这些软件的运行方式等一些属性。同时,根据存放位置的不同,同一个软件,同样的配置文件的使用优先级也是不一样的。在Ansible中,它的配置文件是一个名为ansible.cfg的配置文件,ansible.cfg配置文件是以ini格式存储配置数据的。但是ansible.cfg配置文件可以存放在不同的目录,但只有一个可用,在运行Ansible命令时,Ansible将会按照预先设定的顺序查找配置文件,检查到哪个就用哪个。Ansible预先设定的优先级顺序如下:

ANSIBLE_CFG:首先,Ansible命令会先检查环境变量,及这个环境变量将指向的配置文件;
./ansible.cfg:其次,将会检查当前目录下的ansible.cfg配置文件;
~/.ansible.cfg:再次,将会检查当前用户home目录下的.ansible.cfg配置文件;
/etc/ansible/ansible.cfg:最后,将会检查在安装Ansible时自动生成的配置文件。
几乎所有的配置项都可以通过Ansible的playbook或环境变量来重新赋值,所以当你怎么都不知道这个变量在哪里定义的时候,不妨去看看环境变量里看看。根据我这么多年的运维经验来说,我建议使用~/.ansible.cfg作为配置文件使用,这样就可以实现每个用户都有自己独自的配置文件,不污染其它用户正常使用Ansible,同时也方便进行选项配置。

由于Ansible本身没有服务的概念,所以只要配置修改后配置将马上生效。
配置选项详解
到目前为止,我还没有见到一个配置项超级少,配置超级简单的配置文件;同样的,Ansible的配置文件也不简单,配置项超级多;但是,二八法则同样也适用于这些配置文件,20%的配置项决定了80%的功能,只有那20%的配置项是我们需要去关心的。所以,大家不要害怕,下面我们就将这20%常用的选项进行一一说明和总结。

defaults配置

配置项 说明 默认值
inventory ansible inventory文件路径 /etc/ansible/hosts
library ansible模块文件路径 /usr/share/my_modules/
remote_tmp ansible远程主机脚本临时存放目录 ~/.ansible/tmp
local_tmp ansible管理节点脚本临时存放目录 ~/.ansible/tmp
forks ansible执行并发数 5
poll_interval ansible异步任务查询间隔 15
sudo_user ansible sudo用户 root
ask_sudo_pass 运行ansible是否提示输入sudo密码 True
ask_pass 运行ansible是否提示输入密码 True
transport ansible远程传输模式 smart
remote_port 远程主机SSH端口 22
module_lang ansible模块运行默认语言环境 C
gathering facts信息收集开关定义 smart
roles_path ansible role存放路径 /etc/ansible/roles
timeout ansible SSH连接超时时间 10
remote_user ansible远程认证用户 root
log_path ansible日志记录文件 /var/log/ansible.log
module_name ansible默认执行模块 command
executable ansible命令执行shell /bin/sh
hash_behaviour ansible主机变量重复处理方式 replace
private_role_vars 默认情况下,角色中的变量将在全局变量范围中可见。 为了防止这种情况,可以启用以下选项,只有tasks的任务和handlers得任务可以看到角色变量 yes
vault_password_file 指定vault密码文件路径 无
ansible_managed 定义的一个Jinja2变量,可以插入到Ansible配置模版系统生成的文件中 Ansible managed
display_skipped_hosts 开启显示跳过的主机 True
error_on_undefined_vars 开启错误,或者没有定义的变量 False
action_plugins ansible action插件路径 无
cache_plugins ansible cache插件路径 无
callback_plugins ansible callback插件路径 无
connection_plugins ansible connection插件路径 无
lookup_plugins ansible lookup插件路径 无
inventory_plugins ansible inventory插件路径 无
vars_plugins ansible vars插件路径 无
filter_plugins ansible filter插件路径 无
terminal_plugins ansible terminal插件路径 无
strategy_plugins ansible strategy插件路径 无
fact_caching 定义ansible facts缓存方式 memory
fact_caching_connection 定义ansible facts缓存路径 无
privilege_escalation配置

配置项 说明 默认值
become 是否开启become模式 True
become_method 定义become方式 sudo
become_user 定义become方式 root
become_ask_pass 是否定义become提示密码 False

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值