我是木偶新手。我读了一堆,设法编写了一个简单(可能很笨拙)的清单来配置主机以及一个类似简单的结构脚本来处理预先木偶设置。太好了,所以是时候更认真了。我在apache2下配置了一个puppet master。(感谢 puppet labs 的 deb,我在 ubuntu 14.04 上使用 3.8 版的软件包...)
到目前为止,一切都很好,但是尽管进行了很多搜索和比赛,但我现在仍停留在几个点上。 最终,这归结为如何设置回归测试,以便我相信我总是可以重新创建我的基础设施。
puppet master在apache2下运行。我认为它是健康的,因为它没有抱怨,而且我在 8140 上服务。但我希望有一个比没有错误更好的方式来确认这一点。有什么方法可以查询主人的健康吗?
我希望能够进行自动化测试。对于代理(我的(小)舰队中的个人主机),我可以调出 vagrant vm,告诉他们他们的名字是 X,然后进行 puppet 申请。因此,我可以查看主机是否按照我对主机 X 的期望出现。然后我可以在 vm 上运行一个脚本,检查我认为主机实际上应该做什么。但我想自动化它,但奇怪的是我还没有找到这样做的通用食谱。我敢打赌这不是我需要发明的东西。任何指针?
同样,我也想为 master 做自动化测试。所以这是(1)和(2)在一起,因为我不确定如何测试大师。
感谢您的任何指示。
puppetmaster
本身并没有提供太多信息。如果您将以下内容添加到/etc/puppet/auth.conf
:您应该能够在
puppetmaster
不提供证书的情况下查询状态(使用 将特定 IP 列入白名单可能是个好主意allow_ip
)应该使用 HTTP 200 响应:
除此之外,
puppetmaster
在 YAML 中存储了大量信息,通常在/var/lib/puppet/reports/
. 但这些报告对人类并不友好。因此,您可能正在寻找类似puppet-dashboard的东西,它曾经是官方 Puppet 发行版的一部分,现在作为开源项目开发。Puppet 模块通常使用rspec-puppet进行测试,它是通用 Ruby 测试框架的扩展。您可能正在寻找Beaker,它结合了 Vagrant 盒子和 rspec-puppet 测试。看看这个教程。
当然,您可能不想在生产环境中调试代码。
有几种方法可以解决这个问题。其中之一是使用带有r10k或角色/配置文件方法的工作流。或者你可以启动一组 Vagrant 盒子,在本地测试,然后部署。管理使用过的 puppet 模块的版本绝对是个好主意,例如使用puppet-librarian或r10k。Puppet 正在不断发展,因此首选工具列表可能会随着时间而改变。