《Ansible权威指南》一2.2 Ansible配置文件解析

2.2 Ansible配置文件解析

Inventory用于定义Ansible的主机列表配置,Ansible的自身配置文件只有一个,即ansible.cfg,Ansible安装好后它默认存放于etcansible目录下。ansible.cfg配置文件可以存在于多个地方,Ansible读取配置文件的顺序依次是当前命令执行目录→用户家目录下的.ansible.cfg→etcansible.cfg,先找到哪个就使用哪个的配置。其ansible.cfg配置的所有内容均可在命令行通过参数的形式传递或定义在Playbooks中。

配置文件ansible.cfg约有350行语句,大多数为注释行默认配置项。该文件遵循INI格式,分为如下几类配置。

(1)[defaults]

该类配置下定义常规的连接类配置,如inventory、library、remote_tmp、local_tmp、forks、poll_interval、sudo_user、ask_sudo_pass、ask_pass、transport、remote_port等。

[defaults]

# inventory =
etcansiblehosts          # 定义Inventory

# library =
usrsharemy_modules # 自定义lib库存放目录

# remote_tmp =
$HOME.ansibletmp # 临时文件远程主机存放目录

# local_tmp =
$HOME.ansibletmp          # 临时文件本地存放目录

# forks = 5                  # 默认开启的并发数

# poll_interval
= 15             # 默认轮询时间间隔

# sudo_user  = root                #
默认sudo用户

# ask_sudo_pass
= True                 # 是否需要sudo密码

# ask_pass  = True            #
是否需要密码

# roles_path =
etcansibleroles    # 默认下载的Roles存放的目录

#
host_key_checking = False           # 首次连接是否需要检查key认证,建议设为False

# timeout = 10                  # 默认超时时间

# timeout = 10                  # 如没有指定用户,默认使用的远程连接用户

# log_path = varlogansible.log   # 执行日志存放目录

# module_name =
command                 # 默认执行的模块

# action_plugins
= usrshareansiblepluginsaction # action插件的存放目录

#
callback_plugins = usrshareansiblepluginscallback # callback插件的存放目录

#
connection_plugins = usrshareansiblepluginsconnection  # connection插件的

                                                  #
存放目录

# lookup_plugins
= usrshareansiblepluginslookup # lookup插件的存放目录

# vars_plugins =
usrshareansiblepluginsvars   # vars插件的存放目录

# filter_plugins
= usrshareansiblepluginsfilter  # filter插件的存放目录

# test_plugins =
usrshareansiblepluginstest    # test插件的存放目录

#
strategy_plugins = usrshareansiblepluginsstrategy   # strategy插件的存放目录

# fact_caching =
memory                           # getfact缓存的主机信息存放方式

#
retry_files_enabled = False

#
retry_files_save_path = ~.ansible-retry      #
错误重启文件存放目录

上述是日常可能用到的配置,这些多数保持默认即可。

(2)[privilege_escalation]

出于安全角度考虑,部分公司不希望直接以root的高级管理员权限直接部署应用,往往会开放普通用户权限并给予sudo的权限,该部分配置主要针对sudo用户提权的配置。

[privilege_escalation]

# become=True           # 是否sudo

#
become_method=sudo     # sudo方式

#
become_user=root     # sudo后变为root用户

#
become_ask_pass=False  # sudo后是否验证密码

(3)[paramiko_connection]

定义paramiko_connection配置,该部分功能不常用,了解即可。

[paramiko_connection]   # 该配置不常用到

#
record_host_keys=False   # 不记录新主机的key以提升效率

# pty=False           # 禁用sudo功能

(4)[ssh_connection]

Ansible默认使用SSH协议连接对端主机,该部署是主要是SSH连接的一些配置,但配置项较少,多数默认即可。

[ssh_connection]

# pipelining =
False # 管道加速功能,需配合requiretty使用方可生效

(5)[accelerate]

Ansible连接加速相关配置。因为有部分使用者不满意Ansible的执行速度,所以Ansible在连接和执行速度方面也在不断地进行优化,该配置项在提升Ansibile连接速度时会涉及,多数保持默认即可。

[accelerate]

#
accelerate_port = 5099                # 加速连接端口

#
accelerate_timeout = 30               # 命令执行超时时间,单位秒

#
accelerate_connect_timeout = 5.0  # 连接超时时间,单位秒

#
accelerate_daemon_timeout = 30        # 上一个活动连接的时间,单位分钟

#
accelerate_multi_key = yes

(6)[selinux]

关于selinux的相关配置几乎不会涉及,保持默认配置即可。

[selinux]

#
libvirt_lxc_noseclabel = yes

#
libvirt_lxc_noseclabel = yes

(7)[colors]

Ansible对于输出结果的颜色也进行了详尽的定义且可配置,该选项对日常功能应用影响不大,几乎不用修改,保持默认即可。

[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

上面尽可能全地介绍了运维工作中可能需要修改的配置选项,除了在关闭首次连接提示(host_key_checking = False)或提速调整([accelerate]区域块配置调整)时可能会稍做调整,其中绝大多数选项默认即可,Ansible安装好后无需任何改动即可使用。

时间: 2024-11-05 20:39:34

《Ansible权威指南》一2.2 Ansible配置文件解析的相关文章

Ansible权威指南.

Linux/Unix技术丛书 Ansible权威指南 李松涛 魏 巍 甘 捷 著 图书在版编目(CIP)数据 Ansible权威指南 / 李松涛,魏巍,甘捷著. -北京:机械工业出版社,2016.11 (Linux/Unix技术丛书) ISBN 978-7-111-55329-8 I. A- II. ①李- ②魏- ③甘- III. 程序开发工具-指南 IV. TP311.561-62 中国版本图书馆CIP数据核字(2016)第258615号 Ansible权威指南 出版发行:机械工业出版社(北

《Ansible权威指南 》一2.2 Ansible配置文件解析

2.2 Ansible配置文件解析 Inventory用于定义Ansible的主机列表配置,Ansible的自身配置文件只有一个,即ansible.cfg,Ansible安装好后它默认存放于/etc/ansible/目录下.ansible.cfg配置文件可以存在于多个地方,Ansible读取配置文件的顺序依次是当前命令执行目录→用户家目录下的.ansible.cfg→/etc/ansible.cfg,先找到哪个就使用哪个的配置.其ansible.cfg配置的所有内容均可在命令行通过参数的形式传递

《Ansible权威指南 》一 导读

前 言 为什么要写这本书 首次接触Ansible是缘于一次杭州出差.当时接触互联网3年左右,正是技能的储备阶段,看到Ansible这样的新兴自动化工具不免充满好奇.当时腾讯的蓝鲸还没有出来,但abs脚本和ijobs自动化体系已经应用多年,并在整个IEG中心广泛应用.大型企业讲究分工精细化,各司其职,强大的自我研发能力.但伴随业绩和KPI的压力,很多人其实是没有多余精力关注外界技术领域的发展,尤其是游戏行业,行业自身属性对开发人员的技术能力要求非常高,前沿开源技术与业务特殊性需求并不能很好地融合,

《Ansible权威指南》一1.5 Ansible通信发展史

1.5 Ansible通信发展史 Ansible主推的卖点是其无需任何Daemon维护进程即可实现相互间的通信,且通信方式是基于业内统一标准的安全可靠的SSH安全连接.同时因为SSH是每台Linux主机系统必装的软件,所以Ansible无需在远程主机端安装任何额外进程,即可实现Agentless(无客户端),进而助力其实现去中心化的思想.尽管稳定.快速.安全的SSH连接是Ansible通信能力的核心,但SSH的连接效率一直被诟病,所以Ansible的通信方式和效率在过去的数年中也在不停地改变和提

《Ansible权威指南》一1.4 Ansible是如何工作的

1.4 Ansible是如何工作的 Ansible没有客户端,因此底层通信依赖于系统软件,Linux系统下基于OpenSSH通信,Windows系统下基于PowerShell,管理端必须是Linux系统,使用者认证通过后在管理节点通过Ansible工具调用各应用模块将指令推送至被管理端执行,并在执行完毕后自动删除产生的临时文件.Ansible具体的工作机制官方有专栏介绍httpswww.ansible.comhow-ansible-works,但整体稍过简略.我们参考从官网视频中的截图来详细了解

《Ansible权威指南》一2.4 Ansible系列命令用法详解与使用场景介绍

2.4 Ansible系列命令用法详解与使用场景介绍 如何获取Ansible的系列命令呢?在终端键入ansible后连续按两次Tab键,会补全所有以ansible字母开头的命令,这些命令均是Ansible系列命令.本节我们来逐一介绍Ansible的系列命令使用. ansible ansible-galaxy ansible-pull ansible-doc ansible-playbook ansible-vault ansible-console 2.4.1 ansible 命令ansible

《Ansible权威指南 》一1.4 Ansible是如何工作的

1.4 Ansible是如何工作的 Ansible没有客户端,因此底层通信依赖于系统软件,Linux系统下基于OpenSSH通信,Windows系统下基于PowerShell,管理端必须是Linux系统,使用者认证通过后在管理节点通过Ansible工具调用各应用模块将指令推送至被管理端执行,并在执行完毕后自动删除产生的临时文件.Ansible具体的工作机制官方有专栏介绍https://www.ansible.com/how-ansible-works,但整体稍过简略.我们参考从官网视频中的截图来

《Ansible权威指南 》一1.5 Ansible通信发展史

1.5 Ansible通信发展史 Ansible主推的卖点是其无需任何Daemon维护进程即可实现相互间的通信,且通信方式是基于业内统一标准的安全可靠的SSH安全连接.同时因为SSH是每台Linux主机系统必装的软件,所以Ansible无需在远程主机端安装任何额外进程,即可实现Agentless(无客户端),进而助力其实现去中心化的思想.尽管稳定.快速.安全的SSH连接是Ansible通信能力的核心,但SSH的连接效率一直被诟病,所以Ansible的通信方式和效率在过去的数年中也在不停地改变和提

《Ansible权威指南 》一第2章 Ansible基础元素介绍

第2章 Ansible基础元素介绍 第1章介绍了Ansible的功能作用.通信发展史.基础的安装部署及处理Ansible安装问题所需的Python多环境管理工具Pyenv和Virutalenv.在前期基本工作准备妥当的基础上,本章进一步深入学习Ansible的基础元素,会相继接触Ansible目录结构简介.Ansible系列命令.Ansible Inventory配置规范.Ansible模式匹配规则等,其中部分内容,诸如Inventory.Ansible-playbook等在后续涉及章节会更深入