三大配置文件
hosts
-
指定所有要操作的目标主机
-
可以分组,下面是某一组的示范
[prod] 10.1.7.31 ansible_ssh_user="ubuntu" ansible_ssh_port=22 ansible_ssh_pass="xxxx" 10.1.7.32 ansible_ssh_user="ubuntu" ansible_ssh_port=22 ansible_ssh_pass="xxxx" 10.1.7.34 ansible_ssh_user="ubuntu" ansible_ssh_port=22 ansible_ssh_pass="xxxx" 10.1.7.35 ansible_ssh_user="ubuntu" ansible_ssh_port=22 ansible_ssh_pass="xxxx"- 参数
- 中括号内 分组的名字,用户后面的yaml文件
- 第一列 ip地址
- 第二列 登录的目标用户
- 第三列 登录的目标端口
- 第四列 用户的密码
- 仅在第一次还未注入公钥时使用,后续可丢弃
- 参数
ansible.cfg
-
指定ansible的配置,需要在含有此文件的目录下,执行ansible命令
-
示范
[defaults] inventory = ./hosts host_key_checking = False- inventory 指定hosts文件的位置,这里直接同级
- host_key_checking 用于避免第一次ssh时的检查
abcd.yaml
-
这里面写要执行的脚本,整体结构如下
- hosts: 分组名 vars: 变量1: 变量值 tasks: - name: 任务名 模块名: 参数名1: 参数值1 参数名2: 参数值2- 主要结构:
- 第一层级
- hosts,代表要操作的分组,可以取值为prod
- 第二层级
- vars 代表要声明变量
- tasks 代表要执行的任务队列
- 第一层级
- 主要结构:
-
执行前需要检验是否能连通目标主机
ansible prod -m -ping- 对prod分组进行ping测试
-
执行
ansible-playbook abcd.yaml- 可以修改环境变量文件,简写为
apvim ~/.bashrcalias ap='ansible-playbook'source ~/.bashrc
- 可以修改环境变量文件,简写为