Ansible配置文件详解

  • 配置文件列表

文件名说明
/etc/ansible/ansible.cfg主配置文件,配置ansible工作特性,也可以在项目的目录中创建此文件, 当前目录下如果也有ansible.cfg,则此文件优先生效,建议每个项目目录下,创建独有的ansible.cfg文件
/etc/ansible/hosts                      主机清单文件
/etc/ansible/roles/                      存放角色的目录
  • 主配置文件

#Ansible 的配置文件可以放在多个不同地方,优先级从高到低顺序如下

路径说明
ANSIBLE_CONFIG环境变量,注意:指定目录下的ansible.cfg文件必须存在才能生效
./ansible.cfg当前目录下的ansible.cfg,一般一个项目对应一个专用配置文件,推荐 使用
~/.ansible.cfg当前用户家目录下的.ansible.cfg
/etc/ansible/ansible.cfg系统默认配置文件

#默认配置文件/etc/ansible/ansible.cfg内容

[defaults]
#inventory     = /etc/ansible/hosts     #主机列表配置文件

#library = /usr/share/my_modules/       #库文件存放目录

#remote_tmp = $HOME/.ansible/tmp        #临时py命令文件存放在远程主机目录

#local_tmp     = $HOME/.ansible/tmp     #本机的临时命令执行目录

#forks         = 5                      #默认并发数

#sudo_user     = root                   #默认sudo 用户

#ask_sudo_pass = True                   #每次执行ansible命令是否询问ssh密码

#ask_pass     = True   

#remote_port   = 22

#host_key_checking = False              #检查对应服务器的host_key,建议取消此行注释,实现第 
                                         一次连接自动信任目标主机

#log_path=/var/log/ansible.log          #日志文件,建议启用

#module_name = command                  #默认模块,可以修改为shell模块

[privilege_escalation]                  #普通用户提权配置
#become=True
#become_method=sudo
#become_user=root
#become_ask_pass=False

  • 主机清单文件

#文件格式

1.inventory 文件遵循 INI 文件风格,中括号中的字符为组名。可以将同一个主机同时归并到多个不同的组中
2.此外,当如若目标主机使用了非默认的 SSH 端口,还可以在主机名称之后使用冒号加端口号来标明
3.如果主机名称遵循相似的命名模式,还可以使用列表的方式标识各主机

#Inventory 参数说明

ansible_ssh_host               #将要连接的远程主机名.与你想要设定的主机
                                的别名不同的话,可通过此变量设置.

ansible_ssh_port               #ssh端口号.如果不是默认的端口号,通过此变量设置
                                这种可以使用 ip:端口
                                192.168.1.100:2222

ansible_ssh_user               #默认的 ssh 用户名

ansible_ssh_pass               #ssh 密码(这种方式并不安全,我们强烈建议使用 
                                --ask-pass 或 SSH 密钥)

ansible_sudo_pass              #sudo 密码(这种方式并不安全,我们强烈建议使用 
                                --ask-sudo-pass)

ansible_sudo_exe (new in version 1.8) #sudo 命令路径(适用于1.8及以上版本)

ansible_connection             #与主机的连接类型.比如:local, ssh 或者 paramiko. 
                                Ansible 1.2 以前默认使用 paramiko.1.2 以后默认使用 
                               'smart','smart' 方式会根据是否支持 ControlPersist, 
                                来判断'ssh' 方式是否可行.

ansible_ssh_private_key_file   #ssh 使用的私钥文件.适用于有多个密钥,而你不想使用 
                                SSH 代理的情况.

ansible_shell_type             #目标系统的shell类型.默认情况下,命令的执行使用 
                                'sh' 语法,可设置为'csh' 或 'fish'.

ansible_python_interpreter 
#目标主机的 python 路径.适用于的情况: 系统中有多个 Python, 
或者命令路径不是"/usr/bin/python",比如 \*BSD, 或者 /usr/bin/python 不是 2.X 版本的
Python.之所以不使用 "/usr/bin/env" 机制,因为这要求远程用户的路径设置正确,且要求 "python" 
可执行程序名不可为 python以外的名字(实际有可能名为python26).与
ansible_python_interpreter 的工作方式相同,可设定如 ruby 或 perl 的路径....

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值