我不明白 hiera.yaml 和 hiera
I do not understand hiera.yaml and hiera
我似乎无法弄清楚如何访问我的 hiera 数据
我将其放入我的 yaml 文件中。
这是我的 hiera.yaml:
[root@vxx-osc4-ppt-001 puppetmaster]# cat /etc/puppetlabs/puppet/hiera.yaml
---
:backends:
- yaml
:hierarchy:
- "%{pod_prefix}"
- defaults
- "%{clientcert}"
- "%{environment}"
- global
: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:
更改上述文件后,我重新启动了我的 3.7 PE Puppet master
像这样:
[root@vxx-osc4-ppt-001 puppetmaster]# systemctl restart pe-httpd
我还有这两个包含 key/value 对的 yaml 文件
一个类参数,controller_vip_name。所以我有这个...
[root@vxx-osc4-ppt-001 puppetmaster]# grep "^controller_vip_name:" /var/lib/hiera/*yaml
/var/lib/hiera/defaults.yaml:controller_vip_name: VXX-osc4.example.com
/var/lib/hiera/vxx-osc4.yaml:controller_vip_name: vxx-osc4.example.com
...注意在文件vxx-osc4.yaml
中controller_vip_name
的值是vxx-osc4.example.com
全部小写并且在 defaults.yaml 文件中 controller_vip_name
的值是 VXX-osc4.example.com
其中 VXX 为大写。我正在尝试像这样对我的设置进行质量检查:
[root@vxx-osc4-ppt-001 puppetmaster]# hiera controller_vip_name
VXX-osc4.example.com
以上命令有效,hiera 从 defaults.yaml
文件中检索数据
但是这个命令不起作用:
[root@vxx-osc4-ppt-001 puppetmaster]# hiera "pod_prefix=vxx-osc4" controller_vip_name
controller_vip_name
我认为 hiera
完全忽略了我的 vxx-osc4.yaml
文件。
我做错了什么?
你的 hiera 命令有误:
Usage: hiera [options] key [default value] [variable='text'...]
注意变量在键之后。
我似乎无法弄清楚如何访问我的 hiera 数据 我将其放入我的 yaml 文件中。
这是我的 hiera.yaml:
[root@vxx-osc4-ppt-001 puppetmaster]# cat /etc/puppetlabs/puppet/hiera.yaml
---
:backends:
- yaml
:hierarchy:
- "%{pod_prefix}"
- defaults
- "%{clientcert}"
- "%{environment}"
- global
: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:
更改上述文件后,我重新启动了我的 3.7 PE Puppet master 像这样:
[root@vxx-osc4-ppt-001 puppetmaster]# systemctl restart pe-httpd
我还有这两个包含 key/value 对的 yaml 文件 一个类参数,controller_vip_name。所以我有这个...
[root@vxx-osc4-ppt-001 puppetmaster]# grep "^controller_vip_name:" /var/lib/hiera/*yaml
/var/lib/hiera/defaults.yaml:controller_vip_name: VXX-osc4.example.com
/var/lib/hiera/vxx-osc4.yaml:controller_vip_name: vxx-osc4.example.com
...注意在文件vxx-osc4.yaml
中controller_vip_name
的值是vxx-osc4.example.com
全部小写并且在 defaults.yaml 文件中 controller_vip_name
的值是 VXX-osc4.example.com
其中 VXX 为大写。我正在尝试像这样对我的设置进行质量检查:
[root@vxx-osc4-ppt-001 puppetmaster]# hiera controller_vip_name
VXX-osc4.example.com
以上命令有效,hiera 从 defaults.yaml
文件中检索数据
但是这个命令不起作用:
[root@vxx-osc4-ppt-001 puppetmaster]# hiera "pod_prefix=vxx-osc4" controller_vip_name
controller_vip_name
我认为 hiera
完全忽略了我的 vxx-osc4.yaml
文件。
我做错了什么?
你的 hiera 命令有误:
Usage: hiera [options] key [default value] [variable='text'...]
注意变量在键之后。