配置文件

   两个核心文件:ansible.cfg和hosts文件,默认都存放在/etc/ansible目录下。

   ansible.cfg:主要设置一些ansible初始化的信息,比如日志存放路径、模块、插件等配置信息

   hosts:机器清单,进行分组管理

 1.ansible.cfg

# config file for ansible -- http://ansible.com/
# ==============================================# nearly all parameters can be overridden in ansible-playbook
# or with command line flags. ansible will read ANSIBLE_CONFIG,
# ansible.cfg in the current working directory, .ansible.cfg in
# the home directory or /etc/ansible/ansible.cfg, whichever it
# finds first[defaults]   --->通用默认配置# some basic default values...inventory      = /etc/ansible/hosts     这个是默认库文件位置,脚本,或者存放可通信主机的目录
#library        = /usr/share/my_modules/   Ansible默认搜寻模块的位置
remote_tmp     = $HOME/.ansible/tmp   Ansible 通过远程传输模块到远程主机,然后远程执行,执行后在清理现场.在有些场景下,你也许想使用默认路径希望像更换补丁一样使用
pattern        = *    如果没有提供“hosts”节点,这是playbook要通信的默认主机组.默认值是对所有主机通信
forks          = 5    在与主机通信时的默认并行进程数 ,默认是5d
poll_interval  = 15    当具体的poll interval 没有定义时,多少时间回查一下这些任务的状态, 默认值是5秒
sudo_user      = root   sudo使用的默认用户 ,默认是root
#ask_sudo_pass = True   用来控制Ansible playbook 在执行sudo之前是否询问sudo密码.默认为no
#ask_pass      = True    控制Ansible playbook 是否会自动默认弹出密码
transport      = smart   通信机制.默认 值为’smart’。如果本地系统支持 ControlPersist技术的话,将会使用(基于OpenSSH)‘ssh’,如果不支持讲使用‘paramiko’.其他传输选项包括‘local’, ‘chroot’,’jail’等等
#remote_port    = 22    远程SSH端口。 默认是22
module_lang    = C   模块和系统之间通信的计算机语言,默认是C语言# plays will gather facts by default, which contain information about
# the remote system.
#
# smart - gather by default, but don't regather if already gathered
# implicit - gather by default, turn off with gather_facts: False
# explicit - do not gather by default, must say gather_facts: True
gathering = implicit   控制默认facts收集(远程系统变量). 默认值为’implicit’, 每一次play,facts都会被收集# additional paths to search for roles in, colon separated
#roles_path    = /etc/ansible/roles   roles 路径指的是’roles/’下的额外目录,用于playbook搜索Ansible roles# uncomment this to disable SSH key host checking
#host_key_checking = False    检查主机密钥# change this for alternative sudo implementations
sudo_exe = sudo     如果在其他远程主机上使用另一种方式执sudu操作.可以使用该参数进行更换# what flags to pass to sudo   传递sudo之外的参数
#sudo_flags = -H# SSH timeout    SSH超时时间
timeout = 10# default user to use for playbooks if user is not specified
# (/usr/bin/ansible will use current user as default)
#remote_user = root   使用/usr/bin/ansible-playbook链接的默认用户名,如果不指定,会使用当前登录的用户名# logging is off by default unless this path is defined
# if so defined, consider logrotate
#log_path = /var/log/ansible.log     日志文件存放路径# default module name for /usr/bin/ansible
#module_name = command     ansible命令执行默认的模块# use this shell for commands executed under sudo
# you may need to change this to bin/bash in rare instances
# if sudo is constrained
#executable = /bin/sh     在sudo环境下产生一个shell交互接口. 用户只在/bin/bash的或者sudo限制的一些场景中需要修改# if inventory variables overlap, does the higher precedence one win
# or are hash values merged together?  The default is 'replace' but
# this can also be set to 'merge'.
#hash_behaviour = replace    特定的优先级覆盖变量# list any Jinja2 extensions to enable here:
#jinja2_extensions = jinja2.ext.do,jinja2.ext.i18n      允许开启Jinja2拓展模块# if set, always use this private key file for authentication, same as
# if passing --private-key to ansible or ansible-playbook
#private_key_file = /path/to/file         私钥文件存储位置# format of string {{ ansible_managed }} available within Jinja2
# templates indicates to users editing templates files will be replaced.
# replacing {file}, {host} and {uid} and strftime codes with proper values.
ansible_managed = Ansible managed: {file} modified on %Y-%m-%d %H:%M:%S by {uid} on {host}   这个设置可以告知用户,Ansible修改了一个文件,并且手动写入的内容可能已经被覆盖.# by default, ansible-playbook will display "Skipping [host]" if it determines a task
# should not be run on a host.  Set this to "False" if you don't want to see these "Skipping"
# messages. NOTE: the task header will still be shown regardless of whether or not the
# task is skipped.
#display_skipped_hosts = True     显示任何跳过任务的状态 ,默认是显示# by default (as of 1.3), Ansible will raise errors when attempting to dereference
# Jinja2 variables that are not set in templates or action lines. Uncomment this line
# to revert the behavior to pre-1.3.
#error_on_undefined_vars = False      如果所引用的变量名称错误的话, 将会导致ansible在执行步骤上失败# by default (as of 1.6), Ansible may display warnings based on the configuration of the
# system running ansible itself. This may include warnings about 3rd party packages or
# other conditions that should be resolved if possible.
# to disable these warnings, set the following value to False:
#system_warnings = True    允许禁用系统运行ansible相关的潜在问题警告# by default (as of 1.4), Ansible may display deprecation warnings for language
# features that should no longer be used and will be removed in future versions.
# to disable these warnings, set the following value to False:
#deprecation_warnings = True     允许在ansible-playbook输出结果中禁用“不建议使用”警告# (as of 1.8), Ansible can optionally warn when usage of the shell and
# command module appear to be simplified by using a default Ansible module
# instead.  These warnings can be silenced by adjusting the following
# setting or adding warn=yes or warn=no to the end of the command line
# parameter string.  This will for example suggest using the git module
# instead of shelling out to the git command.
# command_warnings = False    当shell和命令行模块被默认模块简化的时,Ansible 将默认发出警告# set plugin path directories here, separate with colons
action_plugins     = /usr/share/ansible_plugins/action_plugins
callback_plugins   = /usr/share/ansible_plugins/callback_plugins
connection_plugins = /usr/share/ansible_plugins/connection_plugins
lookup_plugins     = /usr/share/ansible_plugins/lookup_plugins
vars_plugins       = /usr/share/ansible_plugins/vars_plugins
filter_plugins     = /usr/share/ansible_plugins/filter_plugins# by default callbacks are not loaded for /bin/ansible, enable this if you
# want, for example, a notification or logging callback to also apply to
# /bin/ansible runs
#bin_ansible_callbacks = False    用来控制callback插件是否在运行 /usr/bin/ansible 的时候被加载. 这个模块将用于命令行的日志系统,发出通知等特性# don't like cows?  that's unfortunate.
# set to 1 if you don't want cowsay support or export ANSIBLE_NOCOWS=1
#nocows = 1    默认ansible可以调用一些cowsay的特性   开启/禁用:0/1# don't like colors either?
# set to 1 if you don't want colors, or export ANSIBLE_NOCOLOR=1
#nocolor = 1  输出带上颜色区别, 开启/关闭:0/1# the CA certificate path used for validating SSL certs. This path
# should exist on the controlling node, not the target nodes
# common locations:
# RHEL/CentOS: /etc/pki/tls/certs/ca-bundle.crt
# Fedora     : /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem
# Ubuntu     : /usr/share/ca-certificates/cacert.org/cacert.org.crt
#ca_file_path =    # the http user-agent string to use when fetching urls. Some web server
# operators block the default urllib user agent as it is frequently used
# by malicious attacks/scripts, so we set it to something unique to
# avoid issues.
#http_user_agent = ansible-agent# if set to a persistent type (not 'memory', for example 'redis') fact values
# from previous runs in Ansible will be stored.  This may be useful when
# wanting to use, for example, IP information from one group of servers
# without having to talk to them in the same playbook run to get their
# current IP information.
fact_caching = memory# retry files
#retry_files_enabled = False
#retry_files_save_path = ~/.ansible-retry[privilege_escalation]
#become=True
#become_method=sudo
#become_user=root
#become_ask_pass=False[paramiko_connection]# uncomment this line to cause the paramiko connection plugin to not record new host
# keys encountered.  Increases performance on new host additions.  Setting works independently of the
# host key checking setting above.
#record_host_keys=False# by default, Ansible requests a pseudo-terminal for commands executed under sudo. Uncomment this
# line to disable this behaviour.
#pty=False[ssh_connection]# ssh arguments to use
# Leaving off ControlPersist will result in poor performance, so use
# paramiko on older platforms rather than removing it
#ssh_args = -o ControlMaster=auto -o ControlPersist=60s# The path to use for the ControlPath sockets. This defaults to
# "%(directory)s/ansible-ssh-%%h-%%p-%%r", however on some systems with
# very long hostnames or very long path names (caused by long user names or
# deeply nested home directories) this can exceed the character limit on
# file socket names (108 characters for most platforms). In that case, you
# may wish to shorten the string below.
#
# Example:
# control_path = %(directory)s/%%h-%%r
#control_path = %(directory)s/ansible-ssh-%%h-%%p-%%r# Enabling pipelining reduces the number of SSH operations required to
# execute a module on the remote server. This can result in a significant
# performance improvement when enabled, however when using "sudo:" you must
# first disable 'requiretty' in /etc/sudoers
#
# By default, this option is disabled to preserve compatibility with
# sudoers configurations that have requiretty (the default on many distros).
#
#pipelining = False# if True, make ansible use scp if the connection type is ssh
# (default is sftp)
#scp_if_ssh = True[accelerate]
accelerate_port = 5099
accelerate_timeout = 30
accelerate_connect_timeout = 5.0# The daemon timeout is measured in minutes. This time is measured
# from the last activity to the accelerate daemon.
accelerate_daemon_timeout = 30 # If set to yes, accelerate_multi_key will allow multiple
# private keys to be uploaded to it, though each user must
# have access to the system via SSH to add a new key. The default
# is "no".
#accelerate_multi_key = yes[selinux]
# file systems that require special treatment when dealing with security context
# the default behaviour that copies the existing context or uses the user default
# needs to be changed to use the file system dependant context.
#special_context_filesystems=nfs,vboxsf,fuse

简易配置:

[defaults]
inventory      = /etc/ansible/hosts
sudo_user=root
remote_port=22
host_key_checking=False
remote_user=root
log_path=/var/log/ansible.log
module_name=command
private_key_file=/root/.ssh/id_rsa
no_log:True

 2.hosts

# This is the default ansible 'hosts' file.
#
# It should live in /etc/ansible/hosts
#
#   - Comments begin with the '#' character
#   - Blank lines are ignored
#   - Groups of hosts are delimited by [header] elements
#   - You can enter hostnames or ip addresses
#   - A hostname/ip can be a member of multiple groups# Ex 1: Ungrouped hosts, specify before any group headers.green.example.com
blue.example.com
192.168.100.1
192.168.100.10# Ex 2: A collection of hosts belonging to the 'webservers' group[webservers]
alpha.example.org
beta.example.org
192.168.1.100
192.168.1.110# If you have multiple hosts following a pattern you can specify
# them like this:www[001:006].example.com# Ex 3: A collection of database servers in the 'dbservers' group[dbservers]db01.intranet.mydomain.net
db02.intranet.mydomain.net
10.25.1.56
10.25.1.57# Here's another example of host ranges, this time there are no
# leading 0s:db-[99:101]-node.example.com

ansible 配置文件相关推荐

  1. 管理Ansible配置文件

    部署Ansible 文章目录 部署Ansible 1. Ansible清单 1.1 清单的作用 1.2清单文件的位置 1.3 清单文件的优先级 2. Ansible配置文件 2.1 ansible配置 ...

  2. 02管理Ansible配置文件

    管理Ansible配置文件 1.配置Ansible 2.配置文件的优先级 3管理配置文件的设置 4.配置连接 4.1清单位置 4.2连接设置 4.3升级特权 4.4非ssh连接 4.5配置文件注释 5 ...

  3. Chapter2.2 管理Ansible配置文件

    2.管理Ansible配置文件 2.1 目标 学完这一章节,学员可以描述Ansible配置文件的位置,Ansible如何选择配置文件,如何修改配置文件. 2.2 配置Ansible Ansible的配 ...

  4. ansible配置文件介绍

    文章目录 ansible主目录结构 ansible配置文件优先级 主配置文件/etc/ansible/ansible.cfg解析 [defaults] 默认配置 常用参数 主机清单 拓展 ansibl ...

  5. ansible 配置文件优先级

    优先级如下: 1.首先找执行ansible命令的当前目录中,是否有 ansible.cfg文件 ./ansible.cfg 2.如果找不到,再 找 当前用户的家目录下是否有 .ansible.cfg ...

  6. Ansible配置文件ansible.cfg

    通常每个应用程序都会有相应的配置文件去设置应用程序运行时需要使用的一些参数,如数据存储地址,日志存储地址,客户端连接端口或者集群数据同步端口等等,ansible也不另外,他也有一个配置文件ansibl ...

  7. Ansible配置文件ansible.cfg详解

    Ansible是一个系列文章,我会尽量以通俗易懂.诙谐幽默的总结方式给大家呈现这些枯燥的知识点,让学习变的有趣一些. 前言 此时外面小雨淅淅沥沥的下着,周末,慵懒的周末,无聊到极点才打开电脑,回头一看 ...

  8. Ansible的配置文件

    文章目录 配置文件 主配置文件详解 Ansible配置文件优先级 主机清单 主机清单详解 实例 配置文件 Ansible在/etc/ansible下会生成三个文件或目录 Hosts:默认主机清单配置文 ...

  9. ansible自动化运维详解(一)ansible的安装部署、参数使用、清单管理、配置文件参数及用户级ansible操作环境构建

    文章目录 ansible自动化运维详解(一)ansible的安装部署.参数使用.清单管理.配置文件参数及用户级ansible操作环境构建 一.ansible的安装部署 1.1.ansible简介 1. ...

最新文章

  1. 网络中找不到指定的计算机名,技术编辑为你解说网络共享找不到计算机名字,网络共享找不到对方电脑的解决办法...
  2. Django多进程中的查询错乱问题以及mysql gone away问题
  3. Redis bitmap使用场景示例
  4. 博客等级及其特权福利
  5. python 控制语句
  6. 学完oracle 再学mysql_一篇文章让Oracle程序猿学会MySql【未完待续】
  7. 解决eclipse环境下maven项目tomcat启动,未加载到项目的问题
  8. Julia :关于函数返回类型::
  9. html5 歌词自动滚动效果,简单的HTML5音乐播放器(带歌词滚动)
  10. SSM的整合项目(详细)
  11. 利用python将txt文本批量转化为excel格式文件
  12. Lightroom:蒙版
  13. K8s 集群上运行ca机制
  14. Java将字符串中的中文数字转化成阿拉伯数字或阿拉伯数字转化成中文数字
  15. 计算机从加电到进入桌面,电脑开机一直停留在一个界面,我按操作进入了这个界面,接下来该肿么弄?...
  16. (03)_k8s之flannel三种模型安装部署详解
  17. python的分布式爬虫框架
  18. mysql源码安装详解
  19. WEB漏洞之:海洋CMS代码执行(CNVD-2020-22721)
  20. 浅谈Lattepanda

热门文章

  1. 详解 springboot - 查看、修改内置 tomcat 版本
  2. Jquery Datatable的使用样例(ssm+bootstrsp框架下)服务器端分页
  3. [转]Android Studio系列教程六--Gradle多渠道打包
  4. 2010全面兼容IE6/IE7/IE8/FF的CSS HACK写法
  5. 《JS高级程序设计》PART3.对象基础
  6. Cheatsheet: 2010 12.13 ~ 12.23
  7. java 统计单词个数和标点符号
  8. 雷军:启动手机+AIoT双引擎战略 5G春天到来前打持久战
  9. Redis在windows下的配置
  10. C#递归搜索指定目录下的文件或目录