本节书摘来自华章计算机《DevOps实战:VMware管理员运维方法、工具及最佳实践》一书中的第2章,第2.3节,作者:小特雷弗 A. 罗伯茨(Trevor A. Roberts Jr.)乔希·阿特韦尔(Josh Atwell)埃格勒·西格勒(Egle Sigler)著,更多章节内容可以访问云栖社区“华章计算机”公众号查看
2.3 配置管理
正如第1章中讨论的,只依靠手工制作的金映像进行服务器部署可能导致效率低下。配置管理技术(CM)可以显著地改善金映像构建和生产系统部署的速度及可靠性。当你把服务器配置当成软件看待,就可以利用Git(第3章中介绍)等源代码管理系统跟踪环境变化。
CM技术还可以用于配给与生产服务器配置完全相符的一致开发环境。这可以消除开发和运营团队之间“但是它在我的开发工作站上工作得很好”的争论。CM技术的设计很灵活,可以通过动态调整服务器特性(例如,OS风格和位置),在不同平台上使用相同的指令集。本书介绍的CM技术——Puppet(第4~6章)、Chef(第7~9章)和PowerShell DSC
(第12~13章)——是描述性语言,你可以描述配给资源的预期状态,而不用担心工作是如何完成的。
配置管理的好处可以通过使用Ansible(第10~11章)、Fabric或者MCollective等编排系统大规模实现,这些系统用命令式的风格描述环境状态。编排框架允许配置管理在多个系统上以受控方式并行执行。
Ansible也可以视为一种CM技术,因为它能够描述预期状态。有些公司可能选择仅使用Ansible,而其他一些公司则使用Puppet/Chef的组合,由Ansible编排CM的执行。