Ansible配置文件ansible.cfg详解

栏目: 服务器 · 发布时间: 6年前

内容简介:Ansible是一个系列文章,我会尽量以通俗易懂、诙谐幽默的总结方式给大家呈现这些枯燥的知识点,让学习变的有趣一些。Ansible系列博文直达链接:Ansible入门系列此时外面小雨淅淅沥沥的下着,周末,慵懒的周末,无聊到极点才打开电脑,回头一看,都有小半个月没有看技术书籍了,颓废就像洪水一样,泛滥到无可收拾。技术人,一天不看技术,都会感到空虚,但是最近生活的打击一个接一个,让人措手不及,防不胜防;工作中的忙碌,让自己就像无头苍蝇一样,到处乱撞。

Ansible是一个系列文章,我会尽量以通俗易懂、诙谐幽默的总结方式给大家呈现这些枯燥的知识点,让学习变的有趣一些。

Ansible系列博文直达链接:Ansible入门系列

前言

此时外面小雨淅淅沥沥的下着,周末,慵懒的周末,无聊到极点才打开电脑,回头一看,都有小半个月没有看技术书籍了,颓废就像洪水一样,泛滥到无可收拾。技术人,一天不看技术,都会感到空虚,但是最近生活的打击一个接一个,让人措手不及,防不胜防;工作中的忙碌,让自己就像无头苍蝇一样,到处乱撞。

继续自己的博客之路,近期准备将Ansible相关的内容整理一下,和大家分享。

优先级说明

熟悉 Linux 运维的同学,对于这个就非常有经验了。在Linux中,基本上99%的软件都有一个配置文件,而这些配置文件中配置了这些软件的运行方式等一些属性。同时,根据存放位置的不同,同一个软件,同样的配置文件的使用优先级也是不一样的。在Ansible中,它的配置文件是一个名为 ansible.cfg 的配置文件,ansible.cfg配置文件是以ini格式存储配置数据的。但是ansible.cfg配置文件可以存放在不同的目录,但只有一个可用,在运行Ansible命令时,Ansible将会按照预先设定的顺序查找配置文件,检查到哪个就用哪个。Ansible预先设定的优先级顺序如下:

  • ANSIBLE_CFG :首先,Ansible命令会先检查环境变量,及这个环境变量将指向的配置文件;
  • ./ansible.cfg :其次,将会检查当前目录下的ansible.cfg配置文件;
  • ~/.ansible.cfg :再次,将会检查当前用户home目录下的 .ansible.cfg 配置文件;
  • /etc/ansible/ansible.cfg :最后,将会检查在安装Ansible时自动生产的配置文件。

几乎所有的配置项都可以通过Ansible的playbook或环境变量来重新赋值,所以当你怎么都不知道这个变量在哪里定义的时候,不妨去看看环境变量里看看。根据我这么多年的运维经验来说,我建议使用 ~/.ansible.cfg 作为配置文件使用,这样就可以实现每个用户都有自己独自的配置文件,不污染其它用户正常使用Ansible,同时也方便进行选项配置。

由于Ansible本身没有服务的概念,所以只要配置修改后配置将马上生效。

配置选项详解

到目前为止,我还没有见到一个配置项超级少,配置超级简单的配置文件;同样的,Ansible的配置文件也不简单,配置项超级多;但是,二八法则同样也适用于这些配置文件,20%的配置项决定了80%的功能,只有那20%的配置项是我们需要去关心的。所以,大家不要害怕,下面我们就将这20%常用的选项进行一一说明和总结。

  • defaults配置
    配置项 说明 默认值
    inventory ansible inventory文件路径 /etc/ansible/hosts
    library ansible模块文件路径 /usr/share/my_modules/
    remote_tmp ansible远程主机脚本临时存放目录 ~/.ansible/tmp
    local_tmp ansible管理节点脚本临时存放目录 ~/.ansible/tmp
    forks ansible执行并发数 5
    poll_interval ansible异步任务查询间隔 15
    sudo_user ansible sudo用户 root
    ask_sudo_pass 运行ansible是否提示输入sudo密码 True
    ask_pass 运行ansible是否提示输入密码 True
    transport ansible远程传输模式 smart
    remote_port 远程主机SSH端口 22
    module_lang ansible模块运行默认语言环境 C
    gathering facts信息收集开关定义 smart
    roles_path ansible role存放路径 /etc/ansible/roles
    timeout ansible SSH连接超时时间 10
    remote_user ansible远程认证用户 root
    log_path ansible日志记录文件 /var/log/ansible.log
    module_name ansible默认执行模块 command
    executable ansible命令执行shell /bin/sh
    hash_behaviour ansible主机变量重复处理方式 replace
    private_role_vars 默认情况下,角色中的变量将在全局变量范围中可见。 为了防止这种情况,可以启用以下选项,只有tasks的任务和handlers得任务可以看到角色变量 yes
    vault_password_file 指定vault密码文件路径
    ansible_managed 定义的一个Jinja2变量,可以插入到Ansible配置模版系统生成的文件中 Ansible managed
    display_skipped_hosts 开启显示跳过的主机 True
    error_on_undefined_vars 开启错误,或者没有定义的变量 False
    action_plugins ansible action插件路径
    cache_plugins ansible cache插件路径
    callback_plugins ansible callback插件路径
    connection_plugins ansible connection插件路径
    lookup_plugins ansible lookup插件路径
    inventory_plugins ansible inventory插件路径
    vars_plugins ansible vars插件路径
    filter_plugins ansible filter插件路径
    terminal_plugins ansible terminal插件路径
    strategy_plugins ansible strategy插件路径
    fact_caching 定义ansible facts缓存方式 memory
    fact_caching_connection 定义ansible facts缓存路径
  • privilege_escalation配置
    配置项 说明 默认值
    become 是否开启become模式 True
    become_method 定义become方式 sudo
    become_user 定义become方式 root
    become_ask_pass 是否定义become提示密码 False

总结

通过一个软件的配置文件,我们大体能知道这个软件支持的功能,就像我们在阅读源码一样,熟悉了目录结构后,就是开始阅读配置文件。这篇文章对Ansible的功能配置文件 ansible.cfg 进行了一个整体的总结,同时也对一些常用的配置选项进行了重点说明。这里说的配置项虽然都是一些简单的内容点,但是却是后续学习的基础和根本,希望大家对这里的配置选项有一个整体的记忆和印象,在后续的学习中,可以快速的回忆起这些内容。最后,如果觉的还不错,可以点击下方的“打赏”哦。

果冻想,认真玩技术的地方。

2019年6月15日,于内蒙古呼和浩特。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Uberland

Uberland

Alex Rosenblat / University of California Press / 2018-11-19 / GBP 21.00

Silicon Valley technology is transforming the way we work, and Uber is leading the charge. An American startup that promised to deliver entrepreneurship for the masses through its technology, Uber ins......一起来看看 《Uberland》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具