AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 757232
Accepted
jma
jma
Asked: 2016-02-16 00:10:38 +0800 CST2016-02-16 00:10:38 +0800 CST 2016-02-16 00:10:38 +0800 CST

用 vagrant 测试 puppet master

  • 772

我是木偶新手。我读了一堆,设法编写了一个简单(可能很笨拙)的清单来配置主机以及一个类似简单的结构脚本来处理预先木偶设置。太好了,所以是时候更认真了。我在apache2下配置了一个puppet master。(感谢 puppet labs 的 deb,我在 ubuntu 14.04 上使用 3.8 版的软件包...)

到目前为止,一切都很好,但是尽管进行了很多搜索和比赛,但我现在仍停留在几个点上。 最终,这归结为如何设置回归测试,以便我相信我总是可以重新创建我的基础设施。

  1. puppet master在apache2下运行。我认为它是健康的,因为它没有抱怨,而且我在 8140 上服务。但我希望有一个比没有错误更好的方式来确认这一点。有什么方法可以查询主人的健康吗?

  2. 我希望能够进行自动化测试。对于代理(我的(小)舰队中的个人主机),我可以调出 vagrant vm,告诉他们他们的名字是 X,然后进行 puppet 申请。因此,我可以查看主机是否按照我对主机 X 的期望出现。然后我可以在 vm 上运行一个脚本,检查我认为主机实际上应该做什么。但我想自动化它,但奇怪的是我还没有找到这样做的通用食谱。我敢打赌这不是我需要发明的东西。任何指针?

  3. 同样,我也想为 master 做自动化测试。所以这是(1)和(2)在一起,因为我不确定如何测试大师。

感谢您的任何指示。

puppet
  • 1 1 个回答
  • 298 Views

1 个回答

  • Voted
  1. Best Answer
    Tombart
    2016-02-18T02:45:31+08:002016-02-18T02:45:31+08:00
    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-dashboard的东西,它曾经是官方 Puppet 发行版的一部分,现在作为开源项目开发。

    木偶仪表板

    1. Puppet 模块通常使用rspec-puppet进行测试,它是通用 Ruby 测试框架的扩展。您可能正在寻找Beaker,它结合了 Vagrant 盒子和 rspec-puppet 测试。看看这个教程。

    2. 当然,您可能不想在生产环境中调试代码。 错误传播

      有几种方法可以解决这个问题。其中之一是使用带有r10k或角色/配置文件方法的工作流。或者你可以启动一组 Vagrant 盒子,在本地测试,然后部署。管理使用过的 puppet 模块的版本绝对是个好主意,例如使用puppet-librarian或r10k。Puppet 正在不断发展,因此首选工具列表可能会随着时间而改变。

    • 3

相关问题

  • 如何修复 Puppet 完全限定的参数路径错误?

  • puppet:修改配置文件后强制重启服务

  • 木偶模块资源

  • 傀儡主机名问题

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve