Ansible配置文件(ansible.cfg文件)
Ansible配置文件使用INI格式存储其配置数据。在Ansible中,我们可以通过Ansible playbook选项或者环境变量覆盖几乎所有的配置设置。
运行Ansible命令时,该命令将按"预定义顺序"查找其配置文件,如下所示:
ANSIBLE_CFG:
如果设置了此环境变量,则使用它ansible.cfg文件:
This位于当前目录中~/.ansible.cfg文件:
这位于用户的主目录中/etc/ansible.cfg文件
默认的ansible配置文件在/etc/ansible
下
[ansible@controller ~]$ tree /etc/ansible/ /etc/ansible/ ├── ansible.cfg ├── hosts └── roles
在本节中,我们将介绍一些选项和参数,它们是ansible.cfg文件
配置文件
[默认值]部分
Ansible的配置文件分为几个部分。我们将集中讨论的主要部分是[defaults]
常规部分。
inventory
这指向包含托管节点的主机名或者IP地址详细信息的列表文件的路径。
在大多数系统上,它指向"/etc/ansible/hosts",如下所示:
inventory = /etc/ansible/hosts
角色\路径
这包含默认角色目录的路径,Ansible playbook应其中查找其他角色:
roles_path = /etc/ansible/roles
日志\路径
这定义了Ansible应该存储其日志的日志文件。
日志文件和路径必须具有足够的权限,运行Ansible的用户才能执行读写操作。
示例如下:
log_path = /var/log/ansible.log
重试文件已启用
这是一个启用重试功能的参数,允许Ansible在playbook失败时创建
.retry
文件。除非你真的需要,否则最好保持这个功能不可用。
这是因为它会创建多个文件并用Ansible日志和仪表板的playbook执行状态部分中已记录的旧失败任务阻塞playbook文件夹。
以下是禁用参数的示例:
retry_files_enabled = False
主机密钥检查
为各个受管节点分配主机密钥。
现在,客户机节点可能被多次重新安装,这会导致Ansible在启动连接时抛出警告。
禁用此参数将使Ansible忽略与已知\ \u主机密钥相关的错误消息:
host_key_checking = False
forks
这是一个参数,用于定义对客户端主机执行的并行任务数。
默认数字为5,以节省资源和网络带宽。
如果有足够的资源和较大的带宽为多个主机提供服务,则可以将其提升到最大主机数,如下所示:
forks = 5
sudo_user和ask_sudo_pass
这两个都是遗留参数。
在当前版本的Ansible中仍然可以使用它们,但它们并不可靠。
建议在Ansible的库存中创建组时设置这些参数
sudo_user = install ask_sudo_pass = True
远程端口
这是一个参数,用于指示SSH将在客户端主机上使用哪个端口,在大多数情况下,默认情况下是22.
它也是一个参数,最好在库存组中设置:
remote_port = 22
无颜色
这是一个可选参数。
它允许我们为Ansible任务和playbook显示不同的颜色,以指示错误和成功。
如果不需要颜色,可以设置为1,或者导出"ANSIBLE_NOCOLOR=1"`
nocolor = 0
[ssh_connection]部分
以下参数与主机"[SSH_connection]"的SSH连接有关。
pipelining
此参数启用了减少执行模块所需的SSH操作数的功能。
这是通过在没有实际文件传输的情况下执行Ansible模块实现的,可以极大地提高Ansible的性能。
它要求在所有托管主机的
/etc/sudoers
中禁用require tty。
其使用示例如下:
pipelining = True
scp\ if\ ssh和transfer\方法
"scp_if_ssh"和"transfer_method"参数都负责主节点和客户端主机之间的文件传输。
选择smart值允许Ansible在SFTP和SCP之间进行选择,以便在传输文件时选择最合适的协议:
scp_if_ssh = smart transfer_method = smart
[持久连接]部分
以下两个示例与SSH连接的持久性相关,[persistent_connection]
。我们只讨论连接的超时和失败连接的重试。SSH超时可以通过编辑这两个参数的值来设置,首先:
connect_timeout = 30
其次:
connect_retry_timeout = 15
[颜色]部分
最后,让我们看看[colors]
颜色选择。启用"[默认]"部分中的颜色功能时,此部分将被激活。它允许我们为各种输出状态选择不同的颜色。
[colors] highlight = white verbose = blue warn = bright purple error = red debug = dark gray deprecate = purple skip = cyan unreachable = red ok = green changed = yellow diff_add = green diff_remove = red diff_lines = cyan