对于Puppet 3.7或更新版本哪个更好?
1- Hiera,Yaml定义为
ubuntu.yaml:
---
classes:
- google-chrome
- xcode
2-基本节点定义为
node.pp:
node "ubuntu" {
include google-chrome
include xcode
}
答案 0 :(得分:0)
我认为你误解了使用hiera的目的。根据{{3}}:
Hiera是配置数据的键/值查找工具,旨在使Puppet更好,并允许您设置特定于节点的数据而无需重复自己。
Hiera为您提供了一种提供配置参数的通用方法。所以在我看来" 2-基本节点定义",使用hiera作为配置提供程序是使用puppet with hiera的正确方法。
例如:而不是definig:
node node1 {
class { 'some_class_1' :
param_1 => value1,
param_2 => value2,
}
class { 'some_class_2' :
param_1 => value3,
param_2 => value4,
}
}
node node2 {
class { 'some_class_1' :
param_1 => value11,
param_2 => value22,
}
class { 'some_class_2' :
param_1 => value33,
param_2 => value44,
}
}
使用hiera作为配置提供程序。仅在木偶中定义:
node some_regexp { #or just provide node names
include some_class_1
include some_class_2
}
定义正确的hiera文件:
node1.yaml
some_class_1::param_1: value1
some_class_1::param_2: value2
some_class_2::param_1: value3
some_class_2::param_2: value4
node2.yaml
some_class_1::param_1: value11
some_class_1::param_2: value22
some_class_2::param_1: value33
some_class_2::param_2: value44