Ansible的安装
- 配置epel源安装仓库
地址:http://ftp.sjtu.edu.cn/fedora/epel/8/Everything/x86_64dnf install ansible -y - ansible的基本信息:
etc/ansible/ansible.conf 全局配置文件,默认很少修改 etc/ansible/hosts 全局主机清单清单文件
Anisble清单
清单就是ansible控制主机的列表
| /etc/ansible/hosts | 全局清单文件 |
|---|
清单查看方式
- ansible 清单中组名称 [-i 清单文件] --list-hosts
- ansible ungrouped --list-hosts
- ansible all --list-hosts
- ansible-inventory --list-hosts
书写规则
-
单层清单
[list1]
node1.westos.com
node2.westos.com[list2]
172.25.254.3
[list3]
172.25.254.[1:3] #代表的是172.25.254.1~172.25.254.3 -
嵌套清单
[list4:children]
list1
list2
测试:
ansible命令指定清单的正则表达式
| * | 所有 |
|---|---|
| : | 逻辑或 |
| :& | 逻辑与 |
| :! | 逻辑非 |
| ~ | 以关键字开头 |
| ~(str1|str2) | 以条件1或者条件2开头 |
Ansible配置文件参数详解
配置文件的分类与优先级
| /etc/ansible/ansible.cfg | 基本配置文件,找不到其他配置文件此文件生效 |
|---|---|
| ~/.ansible.cfg | 用户当前家目录中的.ansible.cfg文件优先级第二 |
| ./ansible.cfg | 当前目录下的ansible.cfg文件优先级最高 |
常用配置参数
| [default] | 基本信息设定 |
|---|---|
| inventory= | 指定清单路径 |
| remote_user= | 在受管主机上登陆的用户名称,未指定使用当前用户 |
| ask_pass= | 是否提示输入SSH密码,如果公钥登陆设定为false |
| library= | 库文件存放目录 |
| local_tmp= | 本机临时命令执行目录 |
| remote_tmp= | 远程主机临时py命令文件存放目录 |
| forks= | 默认并发数量 |
| host_key_checking= | 第一次连接受管主机时是否要输入yes建立host_key |
| module_name= | 默认模块,默认使用command,可以修改为shell |
| [privilege_escalation] | 身份信息设定 |
|---|---|
| become= | 连接后是否自动切换用户 |
| become_method= | 设定切换用户的方式,通常用sudo |
| become_user= | 在受管主机中切换到的用户,通常为root |
| become_ask_pass= | 是否需要为become_method提示输入密码,默认为false |