我有一个问题,如何使用 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 kick
or来操纵它们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 { ... }
怎么写人偶?或者在架构上做一些改变?