zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    python中namedtuple介绍
    导入mysql数据的时候提示Field * doesn't have a default value解决方法
    Django中多表查询思路
    使用questionsModel.values()后不能获取模型中的属性对应的外键属性值的解决方式
    使用django UWSGI 出现 Bad Request (400)
    reverse函数实现指定页面跳转
    Model中内部类meta详解
    models中的pk主键用法
    binlog的几种复制形式
    Mysqldump参数大全(参数来源于mysql5.5.19源码)
  • 原文地址:https://www.cnblogs.com/guge-94/p/12361572.html
Copyright © 2011-2022 走看看