使用 puppet master 与使用 git 分发 puppet manifests 的优缺点是什么?

Tom*_*son 4 puppet

我已经开始阅读有关 puppet 的文章,发现分发 puppet 清单有两种主要方式;一是使用puppet master,二是使用git分发。

两个不同的版本有什么优缺点。对于同时使用 windows 和 linux 服务器的环境,有什么建议?

spu*_*der 9

分发清单的两种方法是使用 puppet master 或在 masterless 配置中。它们并不相互排斥,我们在我的工作中同时使用这两种方法。

高手

通过精巧的设置,您将拥有一个包含基础设施中所有模块的集合的 puppet master。然后节点报告(默认情况下每 30 分钟一次)并请求一个关于应该安装什么软件的目录。

这种模式比较常见。如果你的公司有几十或几百台服务器,你可以轻松定义一次配置,它会神奇地推送到所有节点。

好处:

  • 简单、可扩展的分布式配置管理
  • 每次人偶运行时自动恢复意外更改
  • Puppet 仪表板提供实时反馈和报告

缺点:

  • Puppet 代理不容易扩展到数万个节点。(像 PayPal 这样的大公司实际上使用 cron 进行报告)
  • 如果频繁添加或删除节点,管理证书就会变得乏味。

无主

Masterless 仍然利用了 puppet 的优点,但通过手动调用模块来实现。基本上只是puppet apply foo --modulepath=bar在你的服务器上运行。我在这里写了一个关于这个模型的更详细的解释:https : //unix.stackexchange.com/questions/129318/can-we-install-puppet-without-touching-the-servers/130695#130695

好处:

  • 轻松配置不需要集中管理的笔记本电脑和工作站
  • 无需为频繁进出基础设施的牛仔笔记本电脑争吵
  • Masterless puppet 模块就像编写 bash 脚本一样简单,但是它们更易于维护,易于跨平台。
  • 仍然为您提供 puppet 提供的抽象层的优势(尝试编写一个 bash 脚本来安装具有不同名称的软件包。例如,所有 CentOS 机器上的 openssl-devel,但 Ubuntu 机器上的 openssl-dev,哎呀)。

缺点:

  • 更难分发到节点,需要pulp、git或其他分发技术

我强烈建议您查看以下资源