Puppet技术深度解析与未来展望
1. Puppet代码结构与数据收集
Puppet的内部代码不再通过 setcode 语句定义,而是被分割成不同的代码块。以下是两个重要的代码块示例:
- 收集MAC地址 :
chunk(:macaddrs) do
interfaces = {}
Sysfs.net_devs.each do |dev|
interfaces[dev.name] = {
'macaddr' => dev.macaddr,
'macbrd' => dev.macbrd,
}
end
interfaces
end
- 定义IPv4地址 :
chunk(:ipv4) do
interfaces = {}
Facter::Util::IP.get_interfaces.each do |interface|
interfaces[interface] = {
'ipaddress' => Facter::Util::IP.get_ipaddress_value(interface),
'netmask' => Facter::Util::IP.get_netmask_value(interface),
}
end
interfaces
end
超级会员免费看
订阅专栏 解锁全文
355

被折叠的 条评论
为什么被折叠?



