首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何向PuppetDB插入自定义事实

如何向PuppetDB插入自定义事实
EN

Stack Overflow用户
提问于 2017-04-08 12:44:50
回答 1查看 912关注 0票数 1

我使用的是傀儡服务器的最后一个版本,我正在将傀儡服务器连接到Puppetdb中,以便将目录和事实存储在傀儡数据库中。

经过几个小时的安装和配置。节点的事实现在存储在傀儡数据库中。

现在,在安装Puppetdb之后,我想将自定义事实插入到PuppetDB。下面是我创建的以下场景:

  • 我向傀儡服务器添加了一个新节点。
  • 我使用傀儡数据库api添加了一个自定义事实:

POST http://puppetserver:8080/pdb/cmd/v1

代码语言:javascript
复制
{
  "command":"replace facts",
  "version": 5,
  "payload": {
    "certname":"newnodehostname",
    "environment":"production",
    "producer_timestamp":"TIMESTAMP",
    "producer":"newnodehostname",
    "values":{
      "newfact":"newfactvalue"
    }
  }
}

然后,当我启动傀儡代理时,我的新事实被删除,新的事实被保存。

所以我的问题是:为什么当我在节点上运行傀儡代理时,我的新事实被删除了?

EN

回答 1

Stack Overflow用户

发布于 2019-05-18 17:15:01

PuppetDB存储每个节点的最新事实集

因此,当代理在木偶运行期间上传新的事实集时,它会用一次性的PuppetDB API调用覆盖您发送的事实集。

您应该考虑将您的自定义事实添加为,嗯,习惯事实,以便在每个傀儡运行期间设置该事实。

可以说,对于单个节点来说,最简单的方法是:

  1. 在节点上的my_fact.sh dir中创建/etc/facter/facts.d/文件(newnodehostname)
  2. 使其可执行
  3. 把这样的东西放到这个脚本中:
代码语言:javascript
复制
#!/bin/bash
# ^^^^^^^^^ - note that shebang is REQUIRED for custom fact scripts

# all output in KEY=VALUE format will be treated as custom fact names and their values
echo "newfact=newfactvalue"

有关更多信息,包括如何在节点上添加带有傀儡清单的自定义事实,请参阅完整的自定义事实文档

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43294251

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档