chef – 配置管理

现在我们介绍一下配置管理的基本概念。

假设你必须在数百个计算机上部署软件。该软件可以是操作系统或软件,也可以是现有软件的更新。你可以手动完成这个任务,但是如果你必须在一夜之间完成这个任务,因为明天公司可能会有一个十亿美元的大单。

即使你可以手动操作,但也不能确保软件部署不会出意外,例如部署的新软件有重大bug,需要恢复到以前稳定的旧版本。显然手动完成这项工作是非常低效的。

为了解决这个问题,引入了配置管理。通过使用配置管理工具(如Chef、Puppet等),你可以把该项任务自动化。所要做的就是在一个集中的服务器中指定配置,然后所有节点可以根据服务器上的配置更新自己。

并且,这些配置的历史记录都是可跟踪的,可以方便地回滚到以前版本。

因此,基本上,我们需要在中央服务器上指定配置一次,然后在数千个节点上复制配置。配置管理有助于以一种非常结构化和简单的方式执行以下任务:

  • 当需求发生变化时,确定需要更改哪些组件。
  • 重新部署,因为自上次部署以来需求已经发生了变化。
  • 如果新部署的模块有bug,回滚到旧版。
  • 替换错误的组件。

一般有两种方式来管理配置,即推配置拉配置

  • 拉配置: 在这种类型的配置管理中,节点定期轮询中央服务器以获取更新。这些节点是动态配置的,因此它们基本上是从中央服务器获取配置。chef, puppet使用拉配置。

  • 推配置: 在这种类型的配置管理中,中央服务器将配置推送到节点。与拉配置不同,为了配置节点,必须在集中式服务器中执行某些命令。使用推配置模式的工具有Ansible等。



浙ICP备17015664号 浙公网安备 33011002012336号 联系我们 网站地图  
@2019 qikegu.com 版权所有,禁止转载