Ansible应用总结【第一篇】: Ansible简介

Ansible介绍

  Ansible提供一种最简单的方式用于发布、管理和编排计算机系统的工具,可在数分钟内搞定。Ansible由Python语言开发, 默认通过 SSH 协议管理机器。只要ssh连接ok 被控制节点不需要安装任何工具,就可以实现远程连接执行任何操作支持多节点发布、远程任务执行。Ansible 平台由 Michael DeHaan 创建,他同时也是知名软件 Cobbler 与 Func 的作者。Ansible 的第一个版本发布于 2012 年 2 月,目前已经被Redhat收购。

  Ansible的工作具有等幂性,Ansible在控制端只需要告诉监控端的期望状态就可以实现批量部署。

1)幂等性不会重复执行相同的指令。例如不会重复安装软件  

2)期望状态只需要告诉被监控端的期望状态

官网:http://www.ansible.com/home

官网文档:http://docs.ansible.com/ansible/index.html

Github地址:https://github.com/ansible

最新版本:ansible2.1.0.0 20160526

Ansible基本架构

  Ansible所有的工作都是基于模块实现的,Ansible本身并没有批量部署的能力,真正具有批量部署的是Ansible所运行的模块,Ansible只是提供了一种框架。基本的框架及组件构成如下:

欠缺一张自己画的架构图

组件:

1)核心:Ansible主命令

2)核心模块(Core Modules):Ansible默认自带的模块

3)扩展模块(Custom Modules):可以添加各种功能的扩展模块

4)插件(Plugins):完成模块功能的补充

5)剧本(Playbooks):Ansible的任务配置文件,将多个任务定义在剧本中,由Ansible自动执行

6)连接插件(Connectior Plugins):Ansible除了默认使用ssh方式连接各个客户端之外,还支持基于各种连接插件进行连接

7)主机列表(Host Inventory):定义Ansible管理的主机

Ansible工作原理

  Ansible 在管理节点将 Ansible 模块通过 SSH 协议(或者 Kerberos、 LDAP)推送到被管理端执行,执行完之后自动删除,可以使用 SVN 等来管理自定义模块及编排。

 

posted @ 2016-06-25 22:21  每天进步一点点!!!  阅读(1646)  评论(0)    收藏  举报