DevOps - 配置管理工具Ansible

配置管理工具

配置管理工具(SCM,Software Configuration Management)可以将代码、软件方式实现的基础设施配置信息保存,也可以根据需求变化反复进行变更。
相关工具包括Ansible、Chef、Puppe、SaltStack等,版本管理工具有Git、Subversion等。

  • 省时省力:通过自动化进行快速设置
  • 声明式:通过配置信息对当前配置对象的具体状态进行明确描述
  • 抽象化:配置信息能涵盖细微的环境差异
  • 收敛性:不管对象的状态如何,最终都会达到期望的状态
  • 幂等性:不管执行多少次,都能得到相同的结果

Ansible

Ansible是基于python语言开发的一种开源的自动化运维工具和平台,集合了众多运维工具的优点,实现了批量配置管理、批量应用部署和运行命令执行特定任务等功能。
Ansible基于SSH来和远程主机通讯,不需要在远程主机上安装client/agents。
Ansible只是提供一种框架,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块。主要包括:

  • 连接插件connection plugins:负责和被监控端实现通信
  • host inventory:指定操作的主机,是一个配置文件里面定义监控的主机
  • 各种模块核心模块、command模块、自定义模块
  • 借助于插件完成记录日志邮件等功能
  • playbook:剧本执行多个任务时,非必需可以让节点一次性运行多个任务

官网与教程

相关推荐