在使用Hiera的Puppet中,我将要安装在节点上的文件放在哪里?

在使用Hiera的Puppet中,我将要安装在节点上的文件放在哪里?,puppet,hiera,Puppet,Hiera,我知道puppet模块总是有一个文件目录,我知道它应该在哪里,我已经从我自己的手写模块中有效地使用了source=>语法,但现在我需要学习如何使用Hiera部署文件 我从saz sudo模块开始,我已经阅读了文档,但是我看不到关于sudoers文件放在哪里的任何内容;我想分发的那个。 我不确定是否需要在/etc/puppetlabs/puppet中设置站点范围的文件目录,然后为每个模块或其他模块在其中创建子目录。如果我说,source=>,Hiera知道查看/etc/puppetlabs/pup

我知道puppet模块总是有一个文件目录,我知道它应该在哪里,我已经从我自己的手写模块中有效地使用了source=>语法,但现在我需要学习如何使用Hiera部署文件

我从saz sudo模块开始,我已经阅读了文档,但是我看不到关于sudoers文件放在哪里的任何内容;我想分发的那个。 我不确定是否需要在/etc/puppetlabs/puppet中设置站点范围的文件目录,然后为每个模块或其他模块在其中创建子目录。如果我说,source=>,Hiera知道查看/etc/puppetlabs/puppet/files/sudo吗?”puppet:///files/etc/sudoers“?是否需要在/etc/hiera.yaml中添加路径名?添加一行文件

谢谢你的提示。

你不知道

模块(Hiera支持或不支持)的想法是让您不再需要管理整个sudoers文件。相反,您可以管理sudoers文件中的每个条目


我建议你仔细地复习这本书。您的清单中肯定不应该有
文件{/etc/sudoers:}
资源。

我对puppet模块的粗略视图,给出了他们使用hiera的示例:

sudo::configs:
'web':
    'source'    : 'puppet:///files/etc/sudoers.d/web'
'admins':
    'content'   : "%admins ALL=(ALL) NOPASSWD: ALL"
    'priority'  : 10
'joe':
    'priority'  : 60
    'source'    : 'puppet:///files/etc/sudoers.d/users/joe'
建议假设您有一个“文件”木偶模块。所以在你的木偶模块部分:

mkdir -p files/files/etc/sudoers.d/
把你的文件放进去

说明:

url的puppet:///files/etc/sudoers.d/users/joe“是这样分解的:

puppet: protocol
///:  Three slashes indicate the source of the file is in a module.
files: name of the module
etc/sudoers.d/users/joe:  full path to the file within the module's "files" directory.

希拉不需要处理任何文件

Hiera就像一个变量数据库,服务器基于您拥有的层次结构

puppet中的文件通常通过source=>等方法访问,但这些文件也使用一些基本结构

在大多数情况下,当您调用文件模板

一个模板可以满足您的需要,自动构建一个基于该模板的sudoers。 还有一些模块也支持修改sudoer

该怎么办由你决定

在本例中,saz将文件的位置存储在hiera中,但实际位置可以是木偶中的文件(如模块文件或类似文件)

这是完全无关的。 了解

如果你有问题,就问吧


V

我想我对那个文件的url有点疯狂。这不是它要找的模块。模块路径为'puppet:///modules/mod_name/etc'. 问题之一是假设您的傀儡主机上有“文件”共享设置。有关如何设置的详细信息,请参阅。