最好使用Hiera还是基本节点定义?

时间:2015-01-22 13:04:56

标签: puppet hiera

对于Puppet 3.7或更新版本哪个更好?

1- Hiera,Yaml定义为

  

ubuntu.yaml:

---
classes:
  - google-chrome
  - xcode

2-基本节点定义为

  

node.pp:

node "ubuntu" {
   include google-chrome
   include xcode
}

1 个答案:

答案 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