33.ansible 比较重要的配置文件
ansible 比较重要的配置文件
一 .ansible配置文件的优先级
优先级最高为 export ANSIBLE_CONFIG=/PATH ⾸先,Ansible命令会检查环境变量,及这个环境变量指向的配置⽂件
第二会检查当前目录下的ansible.cfg配置文件,./ansible.cfg
如果还是没有,则会检查当前用户home目录下的ansible.cfg配置文件 ~/.ansible.cfg
如果这些都没有,则会检查默认配置,如/etc/ansible/ansible.cfg
如果同时有.ansible.cfg 和ansible.cfg
如果只有.ansible.cfg
如果playbook(剧本)里面写的配置与ansible.cfg的配置有冲突,一般优先使用playbook
主机清单
此处写的是inventory(主机清单)的路径
此处写的是roles(角色)的目录,它是一个预定义的结构化目录层级,用于自动加载特定的变量、任务、处理程序、模板和文件等。
此处写的是collections(第三方模块存放的地方)
此处写的是forks( Ansible 控制机同时连接到多少台目标主机执行任务的最大并行进程数)
如果目标是真实设备,那么forks定义的数量就可以很多,因为进程并不是在ansible主机上运算的
如果目标是网络设备,那么就是ansible主机自身运行进程,forks不是越大越好:需要找到资源消耗和执行速度之间的最佳平衡点,避免压垮控制机或目标主机
远程控制端口,默认为22
默认以什么用户连接
定义对受管主机执行特权升级,默认普通用户是没有权限来执行ansible任务的,但是我们可以给普通用户提权,让它有权限去执行ansible任务
1.become = true
意思是开启提权
- 如果设置为
true
,Ansible 会在执行每个任务时尝试提升权限。 - 如果设置为
false
(默认值),Ansible 将以登录时使用的用户身份执行任务,不会尝试提权。2
2.become_ask_pass = false
在控制运行时是否提示输入密码
- 如果设置为
true
,Ansible 会在每次运行 Playbook 时弹出提示,让你手动输入sudo
密码。 - 如果设置为
false
(推荐),Ansible 不会询问密码。这要求你必须在目标主机上提前配置好 免密码 sudo
3.become_method = sudo
指定的提权方法是什么
4.become_user = root
指定要切换到的目标目录
静态主机清单的配置
这是不分组,可以用别名,fqdn,ip
这是分组
这是包含子组的组,运行时会直接执行组下面的子组