Puppet学习之hiera(8)

本文介绍了Puppet中的Hiera配置,包括如何设置变量、数据源的查找顺序以及主配置文件`hiera.yaml`的内容。讲解了backends、hierarchy的用法,并通过实例解释了变量查找的层次和策略。此外,还提到了Hiera支持的数组合并和哈希聚合查询方式。
摘要由CSDN通过智能技术生成
Links:

1.什么是Hiera
Hiera是一个强大的puppet外部节点分类器(ENC),利用这个套件,可以大大减少部署中的重复配置。更加灵活高效的配置和管理变量,类,节点配置。

Hiera的安装
在puppet 3.0中,hiera已经包含在puppetmaster安装包中,会默认安装。
在puppet 2.7中,需要执行以下命令安装:
sudo puppet resource package hiera ensure=installed
也可以采用在线安装的方式
    yum install hiera hiera-puppet
 apt-get install hiera-puppet

2.Hiera主配置文件
2.1默认hiera.yaml主配置文件在/etc目录下,为了结合后期版本控制系统集中管理,建议将此文件copy到/etc/puppet目录下,然后创建软连接指向/etc/hiera.yaml即可。
[root@puppetmaster ~]# mv /etc/hiera.yaml /etc/puppet/
[root@puppetmaster ~]# ln -s /etc/puppet/hiera.yaml /etc/hiera.yaml
[root@puppetmaster ~]# ll /etc/hiera.yaml
lrwxrwxrwx 1root root 22Apr  2020 : 05 /etc/hiera.yaml -> /etc/puppet/hiera.yaml

2.2编辑hiera.yaml
  • 添加全局变量common,注释掉defaults、global和clientcert。

  • 添加系统类型变量osfamily

  • 添加主机名变量hostname

备注: 以上变量其实就是fact变量。


root@crdc-c210-170:/etc/puppet# cat hiera.yaml 
--- 
:backends: 
- yaml 
:hierarchy: 
# - defaults 
# - "%{clientcert}" 
# - "%{environment}" 
# - global 
- common 
- "%{environment}" 
- "%{osfamily}" 
- "%{hostname}"    

:yaml: 
# datadir is empty here, so hiera uses its defaults: 
# - /var/lib/hiera on *nix 
# - %CommonAppData%\PuppetLabs\hiera\var on Windows 
# When specifying a datadir, make sure the directory exists.

#  :datadir:"/etc/puppet/environments/%{environment}/hiera"

   :datadir: /etc/puppet/hieradatadir


hiera的主配置文件必须为yaml格式,配置最上层key必须以冒号(:)开头

backends 定义了hiera数据文件的格式,支持yaml和json两种格式

hierarchy(层次结构)为数据源的层次顺序,即hiera查找的顺序,先从common中查找,如果没有则再往下,依次查找。

hierarchy中的值必须为字符串,其中common为默认数据源。

hiera主配置文件编写完成之后,需要重启puppetmaster后方可生效。


举例说明如下:

变量
  • ::clientcert = web01.example.com
  • ::environment = production
  • ::is_virtual = true
数据源解读顺序如下:



查找到的yaml文件如下:

  • web01.example.com.yaml
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值