我使用的是傀儡服务器的最后一个版本,我正在将傀儡服务器连接到Puppetdb中,以便将目录和事实存储在傀儡数据库中。
经过几个小时的安装和配置。节点的事实现在存储在傀儡数据库中。
现在,在安装Puppetdb之后,我想将自定义事实插入到PuppetDB。下面是我创建的以下场景:
POST http://puppetserver:8080/pdb/cmd/v1
{
"command":"replace facts",
"version": 5,
"payload": {
"certname":"newnodehostname",
"environment":"production",
"producer_timestamp":"TIMESTAMP",
"producer":"newnodehostname",
"values":{
"newfact":"newfactvalue"
}
}
}然后,当我启动傀儡代理时,我的新事实被删除,新的事实被保存。
所以我的问题是:为什么当我在节点上运行傀儡代理时,我的新事实被删除了?
发布于 2019-05-18 17:15:01
PuppetDB存储每个节点的最新事实集。
因此,当代理在木偶运行期间上传新的事实集时,它会用一次性的PuppetDB API调用覆盖您发送的事实集。
您应该考虑将您的自定义事实添加为,嗯,习惯事实,以便在每个傀儡运行期间设置该事实。
可以说,对于单个节点来说,最简单的方法是:
my_fact.sh dir中创建/etc/facter/facts.d/文件(newnodehostname)#!/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"有关更多信息,包括如何在节点上添加带有傀儡清单的自定义事实,请参阅完整的自定义事实文档。
https://stackoverflow.com/questions/43294251
复制相似问题