我有一个问题,如何使用 puppet 管理代理节点?
我正在使用 openstack 自动生成 vms,然后使用特殊模式的几个 puppet 代码来 puppet。
例如。
系统提供了几个vm,每个vm有两个attrs:
fqdn:也许重复(你知道虚拟机是由复杂环境中的系统生成的)
uuid:这将是唯一的,并存储在持久文件中。它不会改变
以下是其中两个。
虚拟机1:
fqdn: api-server.expamle.com
uuid: 20a558f1-2cd9-4068-b5fc-8d252c3f3262
虚拟机2:
fqdn: api-server.expamle.com
uuid: 096359d6-5dc9-47e9-946a-bd702fe7c2d5
(另外,我可以用 指定主机名uuid,但我认为这不是一个好主意。)
现在我想用puppet kickor来操纵它们mcollective puppet runonce。
使用mco,我可以选择因子 uuid,这将区分 VM1 和 VM2。
mco pupppetd runonce --with-facter uuid=20a558f1-2cd9-4068-b5fc-8d252c3f3262
但我仍然必须在 puppet-code 中硬编码 fqdn
节点 api-server.expamle.com {
...
}
但实际上,我只想以以下样式使用它:
因素 20a558f1-2cd9-4068-b5fc-8d252c3f3262 {
...
}
因素 096359d6-5dc9-47e9-946a-bd702fe7c2d5 {
...
}
怎么写人偶?或者在架构上做一些改变?