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

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

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

这两个不同版本之间的优缺点是什么。对于同时使用 Windows 和 Linux 服务器的环境,建议使用什么?

答案1

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

大师级

使用 masterful 设置,您将拥有一个包含基础架构中所有模块的 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 或其他分发技术

我强烈建议你看看以下资源

相关内容