Puppet 根据事实向主机文件添加条目
在Puppet中,我想创建一个大型服务器组中所有主机文件的条目Puppet 根据事实向主机文件添加条目,puppet,Puppet,在Puppet中,我想创建一个大型服务器组中所有主机文件的条目 256.344.987.776 6.fqn.mycompany.info my-hosts-hostname6 256.344.987.777 7.fqn.mycompany.info my-hosts-hostname7 256.344.987.778 8.fqn.mycompany.info my-hosts-hostname8 256.344.987.779 9.fqn.mycompany.in
256.344.987.776 6.fqn.mycompany.info my-hosts-hostname6
256.344.987.777 7.fqn.mycompany.info my-hosts-hostname7
256.344.987.778 8.fqn.mycompany.info my-hosts-hostname8
256.344.987.779 9.fqn.mycompany.info my-hosts-hostname9
256.344.987.780 10.fqn.mycompany.info my-hosts-hostname10
如果IP取自eth2事实,fqn取自将事实主机名关联到域,则简短的表示法为事实:主机名
我不知道如何最好地处理这个问题。听起来你想从所有主机收集信息,整理信息,然后提供给所有主机。这是导出资源的经典用例之一。当然,Puppet提供了一个内置的
Host
资源类型来管理各个条目。处理此类作业的最小类可能如下所示:
class site::hosts {
# Export *this* host's entry for all machines to pick up
@@host { "${hostname}.${domain}":
ensure => 'present',
ip => $ipaddress_eth2,
host_aliases => ${hostname}
}
# Apply *all* machines' hosts entries to this machine
Host<<| |>>
}
类站点::主机{
#导出*此*主机的条目以供所有机器拾取
@@主机{“${hostname}.${domain}”:
确保=>“当前”,
ip=>$ipaddress_eth2,
主机别名=>${hostname}
}
#将*所有*计算机的主机条目应用到此计算机
主办
}
您需要在主机上启用导出资源才能使其工作。在您第一次将其放置到位后,可能需要几个周期才能稳定下来,因为在任何给定的运行中,每个主机将只接收由已接收包含该类的目录的计算机提供的条目