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

时间:2014-05-25 19:58:07

标签: puppet hiera

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

我从saz-sudo模块开始,我已经阅读了文档,但我无法看到有关放置sudoers文件的位置;我要分发的那个。 我不确定是否需要在/ etc / puppetlabs / puppet中设置站点范围的文件目录,然后在每个模块或其中设置子目录。如果我说的话,Hiera是否知道要查看/ etc / puppetlabs / puppet / files / sudo, source => " puppet:/// files / etc / sudoers" ?我需要在/etc/hiera.yaml中添加路径名吗?添加一行 - 文件

感谢您提供任何线索。

3 个答案:

答案 0 :(得分:1)

我对木偶模块的粗略观点,给出了使用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.

答案 1 :(得分:0)

你没有。

模块(Hiera支持与否)的想法是提升管理整个sudoers文件的需求。相反,您可以管理sudoers文件中的每个条目。

我建议您仔细阅读documentation。您绝对应该在您的清单中拥有file { "/etc/sudoers": }资源。

答案 2 :(得分:0)

Hiera不需要对文件做任何事情。

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

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

在大多数情况下,当您拨打 文件 模板 时。

模板可以满足您根据需要自动构建sudoers的需求。 还有一些模块也支持修改sudoers。

取决于你该怎么做。

在这种情况下,saz将文件的位置存储在hiera中,但真实位置可以是木偶内的文件(如模块文件或类似文件)。

这完全不相关。 阅读puppet file server

如果您有疑问,请询问。

V