Ansible配置文件讲解

前言

Ansible有很多重要相关文件,如主机与组的列表文件、主配置文件、变量文件、分类目录等等。这章中主要介绍Ansible的主配置文件(ansible.cfg)。ansible.cfg文件默认在/etc/ansible目录下,但是这并不是唯一解析路径;ansible有默认解析顺序,跟linux的加载环境变量文件类似,下面介绍一下ansible配置文件加载顺序(这个是官方定义好的,不需要想着怎么去改这个顺序,才开始学习的时候我还考虑过这个问题)。

 

加载顺序

Ansible读取配置文件的顺序如下:

  • 当前执行的上下文目录($PWD)
  • 用户家目录($HOME)下的".ansible.cfg"
  • /etc/ansible/ansible.cfg

从上至下,先找到哪个文件就用哪个文件。

 

内容讲解

ansible.cfg中的内容大部分均可通过命令行参数或者Playbook文件中进行定义。配置的内容大概490行(仅针对2.9.3版本,其他版本别来比较。。。杠精),该文件遵循INI格式,内容基本配置如下:

sh-4.2# awk '$0 ~ /^\[/{print $0}' ansible.cfg 
[defaults]
[inventory]
[privilege_escalation]
[paramiko_connection]
[ssh_connection]
[persistent_connection]
[accelerate]
[selinux]
[colors]
[diff]

 

配置讲解:

  • [defaults]:定义常规默认的配置,如:定义文件路径、设置并发连接数、设置sudo用户、是否开启sudo功能等等
  • [inventory]:设置插件及可忽略的文件格式(没几个参数,个人感觉用的地方不多)
  • [privilege_escalation]:用户权限类的设定,如:sudo、是否启用sudo密码
  • [paramiko_connection]:不记录遇到的新主机密钥、增加新主机的性能。(用的地方不多)
  • [ssh_connection]:对SSH连接的一些配置,配置项比较少
  • [persistent_connection]:主要就两个选项,连接超时、命令超时
  • [accelerate]:连接加速的相关配置
  • [selinux]:selinux相关配置,基本不会涉及
  • [colors]:设置输出颜色,最好默认
  • [diff]:输出打印是是否打印diff
posted @ 2020-02-25 14:24  寻真丶  阅读(559)  评论(0编辑  收藏  举报