博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《Ansible权威指南》一2.2 Ansible配置文件解析
阅读量:7055 次
发布时间:2019-06-28

本文共 3281 字,大约阅读时间需要 10 分钟。

本节书摘来自华章出版社《Ansible权威指南》一书中的第2章,第2.2节,作者 李松涛 魏 巍 甘 捷 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

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安装好后无需任何改动即可使用。

转载地址:http://jlmol.baihongyu.com/

你可能感兴趣的文章
XFS和RAID6性能优化
查看>>
corosync+pacemaker 实现高可用集群(三)
查看>>
linux下的java开发环境
查看>>
Bootstrap使用记录
查看>>
从一场场大型网站灾难过后的BUG:根
查看>>
Linux系统下怎样利用nc命令来监控检测服务器的端口使用情况
查看>>
git命令总结
查看>>
tomcat高访问jvm配置
查看>>
谢烟客---------二进制安装MariaDB,管理关系型数据库的基本组件
查看>>
JS 判断手机浏览器
查看>>
Xcode WorkSpace静态库多项目依赖
查看>>
【C语言】 实现memset
查看>>
JS 流程设计器
查看>>
blog小记
查看>>
我的友情链接
查看>>
fileoper.py
查看>>
我的友情链接
查看>>
shell脚本将指定目录下前3天日期目录使用tar打包后并将其删除源日期目录
查看>>
类的静态成员
查看>>
比较react和flex的设计哲学
查看>>