我是 Puppet 的新手。我读了很多书,设法编写了一个简单(可能很笨拙)的清单来配置主机,并编写了一个同样简单的结构脚本来处理 Puppet 的预设置。太好了,是时候更认真了。我在 apache2 下配置了一个 Puppet Master。(我使用的是 ubuntu 14.04,软件包版本为 3.8,这要感谢 Puppet 实验室的 deb……)
到目前为止一切顺利,但尽管进行了大量的搜索和尝试,我现在仍然停留在几个点上。 最终,这取决于如何设置回归测试,以便我相信我总是可以重新创建我的基础。
Puppet Master 在 apache2 下运行。我认为它是健康的,因为它没有抱怨,而且我在 8140 上提供服务。但我希望有一种比没有错误更好的方法来确认这一点。有没有办法查询 master 的健康状况?
我希望能够进行自动化测试。对于代理(我的(小型)舰队中的单个主机),我可以启动 vagrant vm,告诉它们它们的名称是 X,然后执行 puppet apply。这样我就可以查看主机是否按照我期望的方式启动主机 X。然后我可以在 vm 上运行一个脚本来检查我认为主机应该实际执行的操作。但我想将其自动化,但奇怪的是,我还没有找到这样做的常用方法。我敢打赌这不是我需要发明的东西。有什么指示吗?
同样,我也想对主服务器进行自动化测试。所以这是 (1) 和 (2) 的结合,因为我不确定如何测试主服务器。
谢谢您的指点。
答案1
puppetmaster
本身并没有提供太多信息。如果将以下内容添加到/etc/puppet/auth.conf
:path ~ ^/status/no_key$ auth off allow *
您应该能够
puppetmaster
在不提供证书的情况下查询状态(使用将特定 IP 列入白名单可能是个好主意allow_ip
)curl -ksS -H "Accept: pson" https://puppet.example.com:8140/production/status/no_key
响应应该为 HTTP 200:
{"is_alive":true,"version":"3.8.1"}
除此之外,它还
puppetmaster
以 YAML 格式存储了大量信息,通常是/var/lib/puppet/reports/
。但这些报告并不真正人性化。所以,你可能正在寻找类似木偶仪表板,它曾经是官方 Puppet 发行版的一部分,现在作为开源项目进行开发。