文章目录
认识ansible
ansible是一个自动化运维工具的名称,集合了众多运维工具的优点(puppet、fabric、slatstack),实现批量系统配置,程序的部署,批量运行命令等。
基于ssh协议,只要管理员通过ssh登录到一台远程主机上能做的操作,ansible都可以做到
优点:配置非常简单,用起来很方便
缺点:细腻度不够
ansible基于python开发,依赖于:paramiko、PyYaml 和 jinja 三个关键组件
ansible的组成
1、host inventory
主机清单:定义客户机,可以对客户机进行分类,如db类、web类等等
2、playbook
剧本:让主机按照我给定的剧本去完成一些事情
3、module
模块:实现一个个功能的程序
4、pluging
插件:实现一些额外的小功能
ansible的相关文件
主配置文件: /etc/ansible/ansible.cfg
此文件主要定义了roles_path的路径,主机清单路径,连接清单中的主机方式等等
配置文件: /etc/ansible/hosts
这个配置文件就是默认的主机清单配置文件,可以通过ansible.cfg 重新定义
可执行文件
ansible
主执行程序,一般用于命令行下执行
ansible-playbook
执行playbook中的任务
ansible-doc
获取各模块的帮助信息
ansible的使用
HOST-PATTERN 匹配主机模式,如all表示所有主机
-m 即MOD_NAME 指定模块名,如ping
-a 即MOD_ARGS 指定模块执行的参数
-f 即FORKS 指定生成几个子进行程执行
-C 表示不执行,模拟跑
-u 即Username 指定某主机的用户名
-c 即CONNection 指定连接方式(default smart)
配置
准备三台机器:
主控机 server:192.168.2.150
客户机1 client01:192.168.2.143
客户机2 client02:192.168.2.154
准备工作:做好免密通道,主控机可以免密登录到两台远程主机
怎么建立免密通道看这里👉: