ansible配置文件

/etc/ansible有以下三个文件或者目录生成

1、Hosts

主机清单配置文件

2、ansible.cfg

Ansible配置文件

3、Roles

角色定义目录

二、ansible配置文件优先级

Ansible配置以ini格式存储配置数据,在Ansible中⼏乎所有配置都可以通过Ansible的Playbook或环境变量来重新赋值。在运⾏Ansible命令时,命令将会按照以下顺序查找配置⽂件。

ANSIBLE_CONFIG :⾸先,Ansible命令会检查环境变量,及这个环境变量指向的配置⽂件。 export ANSIBLE_CONFIG=/PATH

./ansible.cfg :其次,将会检查当前⽬录下的ansible.cfg配置⽂件

~/.ansible.cfg :再次,将会检查当前⽤户home⽬录下的.ansible.cfg配置⽂件。

/etc/ansible/ansible.cfg :最后,将会检查在⽤软件包管理⼯具安装Ansible时⾃动产⽣的配置⽂件。

三…主配置文件/etc/ansible/ansible.cfg解析

[root@ansible ~]# vim /etc/ansible/ansible.cfg

[defaults] 默认配置

# some basic default values…

#inventory = /etc/ansible/inventory #主机列表配置文件 /////////

#library = /usr/share/my_modules/ #库文件存放目录,ansible默认搜寻模块的位置

#module_utils = /usr/share/my_module_utils/ #模块存放目录

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

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

#forks = 5 #默认并发数 //////

#poll_interval = 15 #时间间隔

#sudo_user = root #默认sudo用户 /////

#ask_sudo_pass = True #每次执行ansible命令是否询问sudo用户密码,默认值为no

#ask_pass = True #每次执行ansible命令是否询问ssh密码,默认值为no

#transport = smart #传输方式

#remote_port = 22 #远程端口号 /////

#remote_user = root ----连接的时候使用什么用户进行连接 //////

#roles_path = /etc/ansible/roles /////

#host_key_checking = False /////

#collections_path = 定义集合的路径,第三方模块通常安装在此目录下 ////

[privilege_escalation] 定义对受管主机执行特权升级,默认普通用户是没有权限来执行ansible任务的,但是我们可以给普通用户提权,让它有权限去执行ansible任务

become = true /////

become_method = sudo /////

become_user = root ////

become_ask_pass = false ////

[paramiko_connection]、[ssh_connection]、[accelerate]用于优化与受管主机的连接

[selinux] 定义如何配置selinux交互

四、主机清单

清单定义ansible将要管理的一批主机。这些主机也可以分配到组中,以进行集中管理。组可以包含子组,主机也可以是多个组的成员。清单还可以设置应用到它所定义的主机和组的变量。

可以通过两种方式定义主机清单。静态主机清单可以通过文本文件来定义。动态主机清单可以根据需要使用外部信息提供程序通过脚本或者其他程序来生成。

安装和配置Ansible

按照下方所述,在控制节点server.example.com 上安装和配置Ansible:

​ 安装所需的软件包

​ 创建名为/home/student/ansible/inventory的静态清单文件, 以满足以下需求:

​ node1是dev主机组的成员

​ node2是test主机组的成员

​ node3是prod主机组的成员

​ prod组是webservers主机组的成员

​ 创建名为/home/student/ansible/ansible.cfg的配置文件, 以满足以下要求:

​ 主机清单文件为/home/student/ansible/inventory

​ playbook中使用的角色的位置包括/home/student/ansible/roles

[student@master ansible]$ vim inventory 

​ playbook中使用的角色的位置包括/home/student/ansible/roles

[student@master ansible]$ vim inventory 

在这里插入图片描述

更多推荐