title: 配置管理 category: page slug: configuration-management sortorder: 0712 toc: False sidebartitle: 配置管理 meta: 配置管理工具可以自动完成应用部署和环境设置。 translators: http://blog.chriscabin.com updated: 2016-07-21 08:00

配置管理

配置管理涉及的内容包括如何将服务器从一个现有状态修改为期望的状态以及如何自动化部署应用。

配置管理工具

很多现有的工具都能以可控的方式修改服务器状态,包括 Puppet, ChefSaltStack、和 Ansible。其中Puppet 和 Chef 是用 Ruby 编写的,而 SaltStack 和Ansible 则是用 Python 编写的。

特别任务

诸如 Chef、Puppet、Ansible 和 SaltStack 等一些配置工具对于执行需要交互响应的特别任务并不是很有用。 FabricInvoke 则适用于交互式操作,比如使用 Django manage.py 脚本查询数据库。

配置管理工具对比

Ansible

Ansible 一款使用 Python 构建的开源配置管理工具和应用部署工具。

Ansible 相关资源

配置管理学习清单

  1. 学习有关配置管理在部署自动化和“基础设施即代码”部分的内容。

  2. 选择一款配置管理工具并坚持使用它。我推荐使用 Ansible,因为它是到目前为止最容易学习使用的工具。

  3. 阅读你的配置管理工具的文档,并且在有必要时阅读它的源代码。

  4. 为你的项目实现配置管理和部署自动化。注意这是你在整个学习清单中最耗时的步骤,但是当你每次部署项目时,你都会得到相应的汇报。

  5. 将自动化部署工具添加到你现有的部署进程中。