我正在用cobbler踢机器来安装redhat 6并且还输入了主机名。 我正在使用/ etc / hosts文件管理我的机器(可能在将来切换到dns)并且希望通过/ etc / hosts解析puppet(或任何可行的东西)并找到我的ip地址和主机名(基于在补时阶段由cobbler提供的主机名上)。诀窍是一些机器在/ etc / hosts文件中有多个IP和主机名,如下所示:
#
维护网络
192.168.80.192 testsrv01-maint
192.168.80.193 testsrv02-maint
192.168.80.194 testsrv03-maint
#
熄灯网络
192.168.120.192 testsrv01-ilo
192.168.120.193 testsrv02-ilo
192.168.120.194 testsrv03-ilo
#
主要数据网
192.168.150.192 testsrv01-pri
192.168.150.193 testsrv02-pri
192.168.150.194 testsrv03-pri
#
辅助数据网
192.168.200.192 testsrv01-sec
192.168.200.193 testsrv02-sec
192.168.200.194 testsrv03-sec
我需要捕获每个ip和主机名对(在一行中)并转置到/ etc / sysconfig / network-scripts / ifcfg-eth *(eth1,eth2,eth3,...)。 Puppet需要创建尽可能多的ifcfg-eth *文件,因为/ etc / hosts中的主机名匹配。
我只需要puppet将$ IP和$ hostname附加到ifcfg-eth文件中,其余内容很常见。
那么如何使用puppet获得'testsrv01'的4x ifcfg-eth文件?
答案 0 :(得分:0)
Puppet非常适合这项任务。这需要一个Puppet不支持的脚本。 Puppet允许您声明一个可以在不同平台上可移植的机器状态。
对于Shell或Perl脚本,任务很简单。
使用Puppet,需要以下脚本
您甚至可能需要生成相应的清单,以便为每个地址选择适当的接口索引。
考虑到所有事情,你不会利用Puppet的优势并遭受它的一些弱点。