一、ansible的特点
1、开源运维自动化工具
2、内置很多模块
3、管理简单
4、无客户端模式,通过ssh连接
二、ansible包含的角色
1、使用者:cmdb、public/private、ad-hoc命令集、playboos
2、ansible工具集:
inventory(清单)
moduiles:模块,如users,yum等
plugins:插件
apl:接口
3、作用对象
服务器只能安装在liunx系统
能管理windows、liunx、public/private
三、清单文件(计算机组):/etc/ansible/hosts
格式
[组名]
计算机的名称或ip
四、ansible结果:
1、红色:失败
2、绿色:成功,未改变目标主机的任何设置
3、黄色:成功,改变目录主机的设置
五、ansible使用方法
1、ansible命令
场合:非固定、临时、二次开发接口调用
格式:
ansible分组或主机 -m 模块 -a 参数
2、ansible-doc命令
格式
ansible-doc -l –列出所有的模块
ansible-doc 模块名
3、ansible-console命令:交互式工具
4、playbook:执行脚本(剧本)
六、常用的模块
1、command
2、shell
3、copy
参数:
dest:目标目录
src:源文件路径
4、hostname:更改主机名
参数
name:主机名
5、yum:管理rpm包
参数
Name:名
State=present|latest|absent --present安装 latest最新 absent卸载
6、service:服务
参数
Name:服务名
State=started|stopped|restarted
enable=yes/no
7、user:用户名
参数
name:用户名
state=present|adsent
七、playbook配置文件
1、作用:保存任务列表
2、扩展名:yaml、yml
3、核心元素
1)hosts:执行任务的主机
2)remote_user:执行任务的用户
3)tasks:具体任务
4)handlers:触发器
5)roles:角色
4、执行
ansible-playbook选项 文件路径与名称
选项:
--syntax-check:检查语法
-C:预测试
--list-hosts:列出主机
--list-tasks:列出任务
--list-tags:列出标签
八、playbook文件的格式
1、---开始,…结束
2、所有的-与:后至少加一个空格
九、触发器
1、等到前一个任务通知后才可以进行
2、前一个人任务后加notify,例如
Tasks
……
Notify:
- 触发器名
Handlers:触发器名
十、角色
将任务与主机分离
包含任务
后面执行时,再将主机与角色进行结合即可
角色目录:/etc/ansilble/roles,在其下创建具体角色目录
在每个具体角色目录下,有以下几个常用的子目录
1)files:放需要复制的文件
2)tasks:放任务
3)handlers:放触发器
4)var:放变量
5)meta:放元数据