Hiera命令行:如何查看给定节点的层次结构中的所有数据?

Dav*_*e F 12 puppet hiera

只测试hiera,我希望能够查看给定节点的层次结构中的所有可用数据(变量=值对).

我的Hiera层次结构配置为:

---
:backends:
  - yaml
  - json
:yaml:
  :datadir: C:\Puppet\hieradata
:hierarchy: 
  - "Env/%{::env}"
  - common
Run Code Online (Sandbox Code Playgroud)

我可以运行以下命令来返回'some-common'变量的node1值:

>hiera some-common ::env=node1
data
Run Code Online (Sandbox Code Playgroud)

我希望能够看到的是层次结构中node1可用的所有变量=值对,这可能吗?谢谢

Tom*_*art 7

我担心这是不可能的.您可以做的最近的事情是转储特定节点的事实:

facter -y > node.yml
Run Code Online (Sandbox Code Playgroud)

然后使用它们来查找特定键:

hiera -y node.yml my_class:arg -d
Run Code Online (Sandbox Code Playgroud)

这样,您就可以根据操作系统,域等访问Hiera密钥(取决于您定义的层次结构hiera.yaml).

另一种选择是ssh到puppet主节点.并使用puppet lookup(自Puppet 4以来应该可用).lookup默认使用Hiera后端(再次需要hiera.yaml配置文件).

puppet lookup resolv_conf::nameservers --node mynode.example.net
Run Code Online (Sandbox Code Playgroud)

或更详细的版本:

puppet lookup resolv_conf::nameservers --merge deep --environment production --explain --node mynode.example.net
Run Code Online (Sandbox Code Playgroud)