DevOps
1 - 配置管理工具 配置管理工具(SCM,Software Configuration Management)可以将代码、软件方式实现的基础设施配置信息保存,也可以根据需求变化反复进行变更。 相关工具包括Ansible、Chef、Puppet、SaltStack等,版本管理工具有Git、Subversion等。 配置管理工具的特征 声明式:通过配置信息对当前配置对象的具体状态进行明确描述,并管理这个状态;形式简单、易于理解; 抽象化:配置信息能涵盖细微的环境差异,不需要根据配置对象所在环境的细微差别而分开编写配置信息,消除代码执行时的特殊性; 收敛性:不管对象的状态如何,最终都会变为指定的期望状态 幂等性:无论执行多少次都能得到相同的结果 省时省力:配置信息轻量,易于传输,可以提高审查速度,能够快速回滚到上一个版本;开源;可通过自动化进行快速设置; 2 - Ansible简介 Ansible是基于python语言开发的一种开源的自动化运维工具和平台,集合了众多运维工具的优点,实现了批量配置管理、批量应用部署和运行命令执行特定任务等功能。 Ansible基于SSH来和远程主机通讯,不需要在远程主机上安装client/agents。 配置信息语法规则简单,命令简洁,容易入门。 Ansible只是提供一种框架,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块