Ansible概述
Ansible在生产环境当中的应用
自动化部署应用
自动化配置管理
自动化持续交付
自动化(AWS)云服务管理
Ansible的优点
- 部署简单,只需要在主控制端部署Ansible环境,被控端无需做任何操作,默认使用SSH协议对设备进行管理;
- 配置简单、功能强大、扩展性强、轻量级、主从集中化管理;
- Ansible仅仅只是一个工具,不需要启动服务,支持API及自定义模块,可通过Python轻松实现分布式扩展扩展;
- 通过Playbooks来定制强大的配置、状态管理,批量任务可以写脚本,而且不用分发到远程就可以执行;
- Ansible是一致性、可靠性、安全性设计的轻量级自动化工具;
- 对云计算平台、大数据都有很好的支持;
Ansibled的特性
1.No Agent:不需要在被管控主机上安装任何客户端
2.No Server:无服务端,使用时直接运行命令即可
3.Modules in any languages :基于模块工作,可使用任意语言开发模块
4.yaml、not code:使用yaml语言定制剧本playbook
5.ssh by default :基于ssh工作
6.strong multi-tier solution:可实现多级指挥
ansible的基本架构
1.连接插件(Connectior Plugins): 用于连接主机,用来连接被管理端.
2.核心模块(Core Modules): 连接主机实现操作,它依赖于具体的模块来做具体的事情.
3.自定义模块(Custom Modules): 根据自己的需求编写具体的模块及Ansible自带的核心模块;
4.插件(Plugins): 完成模块功能的补充,包括连接插件、邮件插件等等;
5.playbook(剧本): 定义Ansible多任务配置文件由Ansible自动执行
6.host inventory(主机清单): 定义ansible需要操作主机的范围(记录IP)
最重要的一点是ansible是模块儿化的,它所有的操作都依赖于模块
ansible的运行机制
Ansible 在管理节点将 Ansib e 模块通过 SSH 协议推送到被管理端执行,执行完之后自动删除,可以使用 SVN 等来管理自定义模块及编排
安装Ansible服务
1.
2.
3.
4.
Ansible命令参数
ansible命令语法: