ansible工作原理及安装使用

官方手册位置:ansibl官方手册
ansible是比较轻的自动化运维工具,基于python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。
在一般的中小企业而言,ansible如果充分发挥,足以满足生产的需求。但是如果是比较大型环境,尤其是突出配置管理的化,puppet也是不错的选择。
ansible的几个工作组成部分:
1、连接插件connection plugins:负责和被监控端实现通信;
2、host inventory:指定操作的主机,是一个配置文件里面定义监控的主机;
3、各种模块:核心模块、command模块、自定义模块;
4、借助于插件完成记录日志邮件等功能;
5、playbook:剧本执行多个任务时,非必须可以让节点一次性运行多个任务。
ansible工作原理图
ansible的特点:
1、no agents:不需要在被管控主机上安装任何客户端;
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的工作过程:
ansible的工作过程
安装ansible方法很多,但是如果是没有特殊的版本要求。建议Linux 发行一般可以通过其自带的包管理器安装 Ansible:

【批量执行命令一般用法格式】
Ansible -m mode -a arguments 'command'
ansible的使用只是对模块的
-m 指定模块
-a 指定模块参数
为了无密码操作,我们这里首先使用无密钥登陆。

主机组定义

ansible的安装使用

后面在写一写,常用的一些ansible模块,及playbook的用法。
分享一个ansible的中文文档:ansibl中文权威指南
如果对您有所帮助,请帮我点个赞!

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: