共计 2366 个字符,预计需要花费 6 分钟才能阅读完成。
【注】本文译自 https://www.edureka.co/blog/w…
明天,配置管理最成熟的工具是 Puppet。然而,我想您肯定想晓得为什么 Puppet 如此受欢迎、与其余配置管理工具相比,它有什么独特之处。
什么是 Puppet?
Puppet 是配置管理工具,用于部署、配置和治理服务器。它具备以下性能:
- 为每个主机定义不同的配置,并继续检查和确认主机上是否存在所需的配置,是否没有批改(如果批改后的 Puppet 将复原到所需的配置)
- 动静增减机器规模
- 可管制所有配置机器,从而集中式(基于主服务器或仓储)变更能够主动流传给其余机器
Puppet 应用主从架构,主从之间通过 SSL 应用平安的加密通道进行通信。
晓得了什么是 Puppet,上面让咱们理解 Puppet 为什么会如此受青眼。
要害指标
上面是无关 Puppet 的关键因素:
- 宏大的装置群体:Puppet 在寰球超过 30,000 家公司中应用,包含 Google、Red Hat、Siemens 等,以及斯坦福大学和哈佛法学院等几所大学。并且每天均匀有 22 个新组织首次应用 Puppet。
- 宏大的开发人员根底:Puppet 用处宽泛,很多人都在为它开发。Puppet 的外围源代码有许多贡献者。
- 长期商业应用:Puppet 2005 年已投入商业应用,并且始终在不断完善和改良。它曾经部署在十分宽泛的基础架构(5,000 多台计算机)中,同时在这些我的项目中所积攒的性能和可伸缩性教训为 Puppet 的倒退做出了奉献。
- 文档 :Puppet 有一个大型的用户保护的 Wiki,其中蕴含数百页的文档以及无关语言及其资源类型的全面参考。此外,它还在多个邮件列表中进行了踊跃的探讨,并领有一个十分受欢迎的 IRC 频道,因而,无论你有什么问题,都能够轻松找到答案。
- 平台反对 :Puppet Server 能够在反对 ruby 的任何平台上运行,例如:CentOS,Microsoft Windows Server,Oracle Enterprise Linux 等。它不仅反对新的操作系统,而且还能够在绝对老旧的操作系统和 Ruby 版本上运行。
当初很显著,Puppet 在寰球范畴内有微小的需要。然而,在深入研究 Puppet 之前,我首先解释什么是配置管理及其重要性。
配置管理
系统管理员通常执行重复性工作,例如装置服务器,配置这些服务器等。他们能够通过编写脚本来主动执行此工作,然而在大型基础架构上工作时,会十分繁琐。
为了解决这一问题,引入了配置管理。配置管理是一种系统地解决变更的实际,以便零碎随着工夫的推移放弃其完整性。配置管理(CM)确保零碎的以后设计和构建状态是已知的,良好的和可信赖的;并且不依赖开发团队的隐性常识。它容许拜访精确的零碎状态历史记录,以进行项目管理和审计。配置管理克服了以下挑战:
- 因为需要变更而带来的从新实现。
- 对于新公布但有缺点的版本,可还原到先前版本。
- 因为无奈确定组件类型而导致公布谬误的组件。
让咱们通过一个用例来理解它的重要性。
我晓得的最好的例子产生在纽约证券交易所(NYSE)。一个软件“故障”使纽交所在近 90 分钟的工夫内无奈进行股票交易,造成了数百万美元的损失。这是因为装置新软件所导致,该软件已装置在其 20 个交易终端中的 8 个上,并且该零碎已在前一天早晨进行了测试。然而,晚上,它在 8 个终端上无奈失常运行。因而,必须切换回旧软件。您可能会认为这是纽约证券交易所配置管理流程的失败,但实际上这正是它的胜利之处上:通过适当的配置管理流程,NYSE 在 90 分钟内中恢复正常,速度十分快。如果问题继续更长的工夫,结果将更加重大。
当初,心愿您理解配置管理的重要性。配置管理阶段能够看作是 DevOps 的骨干。它容许以最平安,最牢靠的形式更频繁地公布软件。
接下来,让咱们来看看 Puppet 的一些利用。
Puppet 的利用
让咱们通过一个案例来理解 Puppet 的利用。如果您是扑克爱好者或已经玩过在线游戏,那么您肯定曾经据说过 Zynga。它是世界上最大的社交游戏开发商。Zynga 的基础设施在公共云和公有数据中心都应用了数以万计的服务器。晚期,他们应用手动流程,包含 kickstarter 和 post 装置,以使数百台服务器上线。
当初,咱们将看到他们在此过程中面临哪些问题:
- 可扩展性和一致性 – Zynga 经验了惊人的增长,其基础架构须要跟上行业倒退的步调。基于脚本的解决方案和手动办法不足以满足其需要。
- 便携式基础架构 – Zynga 须要在公共云基础设施和本人的数据中心中利用统一的配置管理办法。
- 灵活性 – 思考到 Zynga 游戏的多样性,团队可能疾速匹配实用于不同机器的配置十分重要。
- 基础架构洞察力 – 随着组织的成熟,领有一种可视化每台计算机属性的自动化办法变得越来越重要。
该公司足够聪慧,甚至在实现疾速扩张之前就迅速意识到对自动化流程的需要,这时 Puppet 就呈现了。让咱们理解 Puppet 是如何为他们的组织做出奉献的。
- 复原速度 – 生产经营团队能够将正确的配置疾速部署到正确的地位。如果对系统进行了不正确的重新配置,Puppet 将主动将其复原为上一个稳固状态,或者提供疾速手动修复零碎所需的详细信息。
- 部署速度 – Puppet 提供的服务形式为游戏工作室的经营团队节俭了大量的工夫。
- 服务器的一致性 – Puppet 的模型驱动框架可确保部署的一致性。Zynga 生产经营副总裁 Mark Stockford 示意:“很显著,咱们节俭了工夫。应用 Puppet 的益处在于,它容许咱们在短时间内跨服务器交付统一的配置。”
- 合作 – 采纳模型驱动的办法能够轻松地在组织内共享配置,使开发人员和经营团队能够一起工作,以确保新的服务交付具备极高的品质。Zynga 团队的十多人承受了 Puppet 培训。这些常识流传到整个团队以及各个游戏工作室的经营团队中。