文章目录
在讲ansible安装之前,先了解下ansible的相关文件
一、ansible的相关内容
1.1 安装ansible生成的主要文件
/etc/ansible/ansible.cfg :配置文件
/etc/ansible/hosts :主机库(host inventory)管理被监控的主机
/usr/bin/ansible : 主程序
/usr/bin/ansible-doc : 文档
/usr/bin/ansible-playbook : 剧本
1.2 与ansible相关的命令
1、 ansible是核心的指令,主要用于执行单条命令,默认跟的是主机和选项部分,默认不指定模块时,使用的是command模块(默认使用的模块可以在ansible.cfg修改)
2、ansible-doc:
ansible-doc -h 用于查看模块的信息常见的参数-l -s
ansible-doc -l 列出已安装的模块
ansible-doc -s 模块 : 查查看具体模块的使用方法
3、ansible-galaxy
ansible-galaxy 从站点下载第三方的扩展模块
4、ansible-lint:ansible-lint对playbook的语法进行检查的工具,也可以用
ansible-playbook --syntax-check + 剧本名
5、ansible-playbook :ansible-playbook 读取playbook文件执行相应的动作,执行ansible-playbook的剧本
6、ansible-pull:
ansible-pull 适用于数量多的机器配置,远程执行命令的工具。对运维架构能力比较强
7、ansible-vault:
ansible-vault 配置文件有敏感信息,设置加密/解密这个配置文件
ansible命令的使用场景:
- 非固化要求
- 临时一次性操作
- 二次开发接口调用
1.3 lnventory文件配置
1、lnventory是ansible管理主机信息的配置文件,相当于系统HOSTS文件的功能,默认存放在,etc/ansible/hosts。
2、定义主机和组
- lnventory可以直接为ip地址
- 端口号不是默认的22端口时,可明确表示为:
server2:2222
server2 ansible_port = 2222 ansible_host=172.25.60.2 - 中括号表示一个组,也可以表示一个范围
[webserver]
www[1:10].example.com
db-[a:f].example.com
3、定义主机变量
- 在playbook中使用时对主机进行个性化定制
[webserver]
web1 http_port = 8080
4、定义组变量
[webserver]
server2
server3
[webserver:vars]
ntp_server=time.aliyun.com
weebserver组中的所有主机ntp_server值为time.aliyun.com
1.4 ansible与正则
1、匹配所有主机,all和功能相同
ansible all -m ping’
ansible "" -m ping
ansible 172.25.60.* -m ping
2、对多台主机或多个组同时执行,相互之间用冒号
ansible “web1:web2” -m ping
3、在test组但不再db组的主机,用感叹号表示
ansible “test:!db” -m ping
<