Ansible 小手册系列 四(详解配置文件)
[root@host-172-20-6-120 ansible]# ansible --version
ansible 2.2.0.0
config file = /etc/ansible/ansible.cfg
configured module search path = Default w/o overrides
配置文件存在不同的位置,但只有一个可用。在下列列表中,ansible从上往下依次检查,检查到哪个可用就用哪个。
- ANSIBLE_CFG 环境变量,可以定义配置文件的位置
- ansible.cfg 存在于当前工作目录
- ansible.cfg 存在与当前用户家目录
- /etc/ansible/ansible.cfg
ansible 配置文件默认存使用 /etc/ansible/ansible.cfg
hosts文件默认存使用 /etc/ansible/hosts
ansible.cfg 配置项说明
[defaults]
| 配置 | 说明 |
|---|---|
| #inventory = /etc/ansible/hosts | 指定主机清单文件 |
| #library = /usr/share/my_modules/ | 指定模块地址 |
| #remote_tmp = $HOME/.ansible/tmp | 指定远程执行的路径 |
| #local_tmp = $HOME/.ansible/tmp | ansible 管理节点得执行路径 |
| #forks = 5 | 置默认情况下Ansible最多能有多少个进程同时工作,默认设置最多5个进程并行处理 |
| #poll_interval = 15 | 轮询间隔 |
| #sudo_user = root | sudo默认用户 |
| #ask_sudo_pass = True | 是否需要用户输入sudo密码 |
| #ask_pass = True | 是否需要用户输入连接密码 |
| #transport = smart | |
| #remote_port = 22 | 远程链接的端口 |
| #module_lang = C | 这是默认模块和系统之间通信的计算机语言,默认为’C’语言. |
| #module_set_locale = True | |
| #gathering = implicit | |
| #gather_subset = all | 定义获取fact的子集,默认全部 |
| #roles_path = /etc/ansible/roles | 角色存储路径 |
| #host_key_checking = False | 跳过ssh 首次连接提示验证部分,False表示跳过。 |
| #stdout_callback = skippy | |
| #callback_whitelist = timer, mail | |
| #task_includes_static = True | |
| #handler_includes_static = True | |
| #sudo_exe = sudo | sudo的执行文件名 |
| #sudo_flags = -H -S -n | sudo的参数 |
| #timeout = 10 | 连接超时时间 |
| #remote_user = root | 指定默认的远程连接用户 |
| #log_path = /var/log/ansible.log | 指定日志文件 |
| #module_name = command | 指定ansible默认的执行模块 |
| #executable = /bin/sh | 用于执行脚本得解释器 |
| #hash_behaviour = replace | 如果变量重叠,优先级更高的一个是替换优先级低得还是合并在一起,默认为替换 |
| #private_role_vars = yes | 默认情况下,角色中的变量将在全局变量范围中可见。 为了防止这种情况,可以启用以下选项,只有tasks的任务和handlers得任务可以看到角色变量。 |
| #jinja2_extensions = jinja2.ext.do,jinja2.ext.i18n | jinja2的扩展应用 |
| #private_key_file = /path/to/file | 指定私钥文件路径 |
| #vault_password_file = /path/to/vault_password_file | 指定vault密码文件路径 |
| #ansible_managed = Ansible managed: {file} modified on %Y-%m-%d %H:%M:%S by {uid} on {host} | 定义一个Jinja2变量,可以插入到Ansible配置模版系统生成的文件中 |
| #display_skipped_hosts = True | 如果设置为False,ansible 将不会显示任何跳过任务的状态.默认选项是显示跳过任务的状态 |
| #display_args_to_stdout = False | |
| #error_on_undefined_vars = False | 如果所引用的变量名称错误的话, 是否让ansible在执行步骤上失败 |
| #system_warnings = True | |
| #deprecation_warnings = True | |
| #command_warnings = False | |
| #action_plugins = /usr/share/ansible/plugins/action | action模块的存放路径 |
| #callback_plugins = /usr/share/ansible/plugins/callback | callback模块的存放路径 |
| #connection_plugins = /usr/share/ansible/plugins/connection | connection模块的存放路径 |
| #lookup_plugins = /usr/share/ansible/plugins/lookup | lookup模块的存放路径 |
| #vars_plugins = /usr/share/ansible/plugins/vars | vars模块的存放路径 |
| #test_plugins = /usr/share/ansible/plugins/test | test模块的存放路径 |
| #strategy_plugins = /usr/share/ansible/plugins/strategy | strategy模块的存放路径 |
| #bin_ansible_callbacks = False | |
| #nocows = 1 | |
| #cow_selection = default | |
| #cow_selection = random | |
| #cow_whitelist=bud-frogs,bunny,cheese,daemon,default,dragon,elephant-in-snake,elephant,eyes, | |
| #nocolor = 1 | 默认ansible会为输出结果加上颜色,用来更好的区分状态信息和失败信息.如果你想关闭这一功能,可以把’nocolor’设置为‘1’: |
| #fact_caching = memory | fact值默认存储在内存中,可以设置存储在redis中,用于持久化存储 |
| #retry_files_enabled = False | 当playbook失败得情况下,一个重试文件将会创建,默认为开启此功能 |
| #retry_files_save_path = ~/.ansible-retry | 重试文件的路径,默认为当前目录下.ansible-retry |
| #squash_actions = apk,apt,dnf,package,pacman,pkgng,yum,zypper | Ansible可以优化在循环时使用列表参数调用模块的操作。 而不是每个with_项调用模块一次,该模块会一次调用所有项目一次。该参数记录哪些action是这样操作得。 |
| #no_log = False | 任务数据的日志记录,默认情况下关闭 |
| #no_target_syslog = False | 防止任务的日志记录,但只在目标上,数据仍然记录在主/控制器上 |
| #allow_world_readable_tmpfiles = False | |
| #var_compression_level = 9 | 控制发送到工作进程的变量的压缩级别。 默认值为0,不使用压缩。 此值必须是从0到9的整数。 |
| #module_compression = 'ZIP_DEFLATED' | 指定压缩方法,默认使用zlib压缩,可以通过ansible_module_compression来为每个主机设置 |
| #max_diff_size = 1048576 | 控制--diff文件上的截止点(以字节为单位),设置0则为无限制(可能对内存有影响) |
[privilege_escalation]
#become=True
#become_method=sudo
#become_user=root
#become_ask_pass=False
[paramiko_connection]
#record_host_keys=False
#pty=False
[ssh_connection]
| 配置 | 说明 |
|---|---|
| #ssh_args = -o ControlMaster=auto -o ControlPersist=60s | ssh连接时得参数 |
| #control_path = %(directory)s/ansible-ssh-%%h-%%p-%%r | 保存ControlPath套接字的位置 |
| #pipelining = False | SSH pipelining 是一个加速 Ansible 执行速度的简单方法。ssh pipelining 默认是关闭,之所以默认关闭是为了兼容不同的 sudo 配置,主要是 requiretty 选项。如果不使用 sudo,建议开启。打开此选项可以减少 ansible 执行没有传输时 ssh 在被控机器上执行任务的连接数。不过,如果使用 sudo,必须关闭 requiretty 选项。 |
| #scp_if_ssh = True | 该项为True时,如果连接类型是ssh,使ansible使用scp,为False是,ansible使用sftp。默认为sftp |
| #sftp_batch_mode = False | 该项为False时,sftp不会使用批处理模式传输文件。 这可能导致一些类型的文件传输失败而不可捕获,但应该只有在您的sftp版本在批处理模式上有问题时才应禁用 |
[accelerate]
加速配置
#accelerate_port = 5099
#accelerate_timeout = 30
#accelerate_connect_timeout = 5.0
#accelerate_daemon_timeout = 30
#accelerate_multi_key = yes
[selinux]
| 配置 | 说明 |
|---|---|
| #special_context_filesystems=nfs,vboxsf,fuse,ramfs | 文件系统在处理安全上下文时需要特殊处理,定义复制现有上下文的文件系统 |
| #libvirt_lxc_noseclabel = yes | 将此设置为yes,以允许libvirt_lxc连接在没有SELinux的情况下工作。 |
[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
Ansible 小手册系列 四(详解配置文件)的更多相关文章
- Ansible 小手册系列 十四(条件判断和循环)
条件判断 When 语句 在when 后面使用Jinja2 表达式,结果为True则执行任务. tasks: - name: "shut down Debian flavored syste ...
- Ansible 小手册系列 九(Playbook)
playbook是由一个或多个"play"组成的列表.play的主要功能在于将事先归并为一组的主机装扮成事先通过ansible中的task定义好的角色.从根本上来讲所谓task无非 ...
- Ansible 小手册系列 十七(特性模块)
异步操作和轮询 --- # Requires ansible 1.8+ - name: 'YUM - fire and forget task' yum: name=docker-io state=i ...
- Ansible 小手册系列 十二(Facts)
Facts 是用来采集目标系统信息的,具体是用setup模块来采集得. 使用setup模块来获取目标系统信息 ansible hostname -m setup 仅显示与ansible相关的内存信息 ...
- Ansible 小手册系列 三(命令介绍)
仅仅只是介绍,可以选择跳过 ansible ansible是指令核心部分,其主要用于执行ad-hoc命令,即单条命令.默认后面需要跟主机和选项部分,默认不指定模块时,使用的是command模块. Us ...
- Ansible 小手册系列 二十(经常遇到的问题)
(1). 怎么为任务设置环境变量? - name: set environment shell: echo $PATH $SOME >> /tmp/a.txt environment: P ...
- Ansible 小手册系列 十九(常见指令表)
Play 指令 说明 accelerate 开启加速模式 accelerate_ipv6 是否开启ipv6 accelerate_port 加速模式的端口 always_run any_error ...
- Ansible 小手册系列 十八(Lookup 插件)
file:获取文件内容 --- - hosts: all vars: contents: "{{ lookup('file', '/etc/foo.txt') }}" tasks: ...
- Ansible 小手册系列 十三(Jinja2)
用于playbook中的jinja 2过滤器 更改数据格式,其结果是字符串 {{ some_variable | to_json }} {{ some_variable | to_yaml }} 对于 ...
随机推荐
- 10 Linux Commands Every Developer Should Know
转载:http://azer.bike/journal/10-linux-commands-every-developer-should-know/ As a software engineer, l ...
- 洛谷 P4211 [LNOI2014]LCA (树链剖分+离线)
题目:https://www.luogu.org/problemnew/solution/P4211 相当难的一道题,其思想难以用言语表达透彻. 对于每个查询,区间[L,R]中的每个点与z的lca肯定 ...
- Java程序运行在Docker等容器环境有哪些新问题
基本回答 一. 对于Java来说,Docker毕竟是一个较新的环境,其内存.CPU等资源限制是通过ControlGroup实现的.早期的JDK版本并不能识别这些限制,进而会导致一些基础问题. 1.如 ...
- 简单地理解HTTPS 转
原文地址:http://www.nowamagic.net/librarys/veda/detail/2394 我们都知道HTTPS能够加密信息,以免敏感信息被第三方获取.所以很多银行网站或电子邮箱等 ...
- js实现excel的解析
在浏览网页的时候不小心看到了这个github的资源(https://github.com/SheetJS/js-xlsx),真不错.之前在开发的时候曾遇到客户要求在前端解析excel并展示出来.这里记 ...
- linux下 安装php的gettext模块
安装php的模块有两种方式: 一.重新编译php,加上--with-gettext 二.动态安装 现在说下第二个动态安装 1.下载同版本的php原包,解压后进入ext目录,目录下便是模块 2.进入ge ...
- iframe的应用量还是这么大
以前查阅资料说iframe已经过时,不建议使用,可是在先进的2018年,你去随便打开一个网站,扔都可以见到iframe的身影,这不禁要发问:iframe的应用量为什么还是这么大? HTML5不再支持使 ...
- xxxx interview
1. 什么数据库,做了什么优化? 回答mysql innodb与myisam区别,根据业务选择引擎.事务,行级锁,全文检索,二级索引. 存储:myisam数据和索引分开存储.innodb数据和索引存储 ...
- 20145312 实验五 《Java网络编程》
20145312 实验五<Java网络编程> 一. 实验内容及要求 实验内容: 运行下载的TCP代码,结对进行,一人服务器,一人客户端: 利用加解密代码包,编译运行代码,一人加密,一人解密 ...
- 快用Visual Studio(五)- 语言特性
HTML 自带Emment $ SHIFT + OPTION + F:格式化代码 其他语言特性提示 CSS & LESS hover属性,提示样式对象标签 $ CMD + SHIFT + O: ...