什么ansible?
- ansible是一个开源部署工具
- 开发语言:Python
- 特点:SSH协议通讯,全平台,无需编译,模块化部署管理
- 作用:推送playbook进行远程节点快速部署
ansible与chef、saltstack的不同
-
chef
- ruby语言编写,C/S架构,配置需要git依赖,recipe脚本编写规范,需要编程经验
-
saltstack
- Python语言编写,c/s架构(需要安装客户端以便和服务端进行通信),模块化配置管理,yaml脚本编写规范,适合大规模集群部署
- 优点,内部含有异步文件服务器,可以为客户端加快文件速度,模块化配置适合大群集
-
ansible
- Python语言编写,无client,模块化配置管理,playbook脚本编写规范,易于上手,适合中小规模快速部署(符合敏捷快发概念,推荐)
ansible的优势和应用场景
-
轻量级无客户端(agentless),降低了运维成本,和潜在的系统安全问题以及系统资源损耗,ansible不使用客户端而调用ssh连接工具去实现通信的原因在于,成功的给部署工作做了一道减法
-
开源免费,学习成本低,快速上手,语法结构简单
-
使用playbook作为核心配置架构,统一的脚本格式批量化部署*
-
完善的模块化扩展,支持目前主流的开发场景(不管使用的Linux、Windows、不管开发使用java或者Python,不管业务逻辑复杂或者简单,ansible都有相应的模块扩展去匹配部署需要)
-
强大的稳定性和兼容性(依托于Python,ssh,不需安装其他工具)