Puppet 木偶模块的使用

Puppet 木偶模块的使用,puppet,Puppet,好的,我已经使用Puppet大约4个小时了,所以我有一个n000b的问题。 我已经下载并安装了一个puppet模块,使用: puppet模块安装解析配置 一切都很好。它已将模块安装到: /home/user/.puppet/modules/, 一切又好又好 当我运行puppet module list时,该模块就会显示出来,我猜应该是这样的 所以我的问题是如何使用这个模块 我得到了一些我需要添加到清单的地方 class{'resolv_conf': 名称服务器=>['192.168.0.254'

好的,我已经使用Puppet大约4个小时了,所以我有一个n000b的问题。 我已经下载并安装了一个puppet模块,使用:

puppet模块安装解析配置

一切都很好。它已将模块安装到:

/home/user/.puppet/modules/
, 一切又好又好

当我运行
puppet module list
时,该模块就会显示出来,我猜应该是这样的

所以我的问题是如何使用这个模块

我得到了一些我需要添加到清单的地方

class{'resolv_conf':
名称服务器=>['192.168.0.254','8.8.8.8'],
}

但我假设我没有在

/home/user/.puppet/modules/resolv_conf/manifests/init.pp
文件

我尝试在这里创建一个文件夹和init.pp文件

/etc/puppet/modules/resolv_conf/manifests

并且增加了课程,但是我得到了

错误:无法从远程服务器检索目录:服务器上的错误400:Puppet::Parser::AST::Resource失败,错误为ArgumentError:在节点rarity.home上的/etc/Puppet/modules/resolv_conf/manifests/init.pp:4处找不到声明的类resolv_conf

所以我有点困惑。 善良的灵魂能给我指明正确的方向吗


Fanks:)

因此默认情况下,
puppet module
命令将模块下载到本地目录中

假设主机正常运行,您需要将模块安装到
$modulepath
中,您可以通过以下操作在主机上找到您的
$modulepath

puppet config print modulepath
这取决于您的Puppet版本(我运行的是v4,所以如果您使用的是v3,它可能会略有不同),将返回如下内容:

/etc/puppetlabs/code/environments/production/vendor:/etc/puppetlabs/code/environments/production/modules:/etc/puppetlabs/code/modules:/opt/puppetlabs/puppet/modules
使用Puppet module命令将模块安装到其中一个目录中,如下所示:

puppet module install -i /etc/puppetlabs/code/modules
现在,您的主机将理解并能够读取
resolv_conf
模块,但您需要将其应用于节点。为了做到这一点,您需要设置

因此,在一个
$modulePath
中,您需要有一个目录
清单
,其中包含一个清单
site.pp
,称为

在其中,为代理创建一个类似于示例中的节点定义:

node 'www1.example.com' {
  include resolv_conf
}
这是您可以拥有的最简单的设置。进一步阅读:

  • 可以为您自动下载模块
  • 这是一个建议的方式来安排你的傀儡回购
  • 与使用
    site.pp

祝你好运

因此默认情况下,
puppet module
命令将模块下载到本地目录中

假设主机正常运行,您需要将模块安装到
$modulepath
中,您可以通过以下操作在主机上找到您的
$modulepath

puppet config print modulepath
这取决于您的Puppet版本(我运行的是v4,所以如果您使用的是v3,它可能会略有不同),将返回如下内容:

/etc/puppetlabs/code/environments/production/vendor:/etc/puppetlabs/code/environments/production/modules:/etc/puppetlabs/code/modules:/opt/puppetlabs/puppet/modules
使用Puppet module命令将模块安装到其中一个目录中,如下所示:

puppet module install -i /etc/puppetlabs/code/modules
现在,您的主机将理解并能够读取
resolv_conf
模块,但您需要将其应用于节点。为了做到这一点,您需要设置

因此,在一个
$modulePath
中,您需要有一个目录
清单
,其中包含一个清单
site.pp
,称为

在其中,为代理创建一个类似于示例中的节点定义:

node 'www1.example.com' {
  include resolv_conf
}
这是您可以拥有的最简单的设置。进一步阅读:

  • 可以为您自动下载模块
  • 这是一个建议的方式来安排你的傀儡回购
  • 与使用
    site.pp

祝你好运

这是一个非常广泛的问题。你错过了很多步骤,比如设置傀儡大师和定义$modulepath等。我建议你尝试一下傀儡学习VM:并记下一些基础知识。谢谢@Frap。按照这个步骤,在另一台机器上运行主设置和代理,puppet正在确保某些服务正在运行。我通过停止这些服务,然后运行代理并启动它们来测试,所以看起来puppet运行正常。这只是如何“包含”我没有得到的下载模块,以及它转到/home/user/.puppet而不是/etc/puppet/modules的事实。也许$modulepath是我需要看的。干杯:)那样的话,我可以帮你,回答你……这是一个非常广泛的问题。你错过了很多步骤,比如设置傀儡大师和定义$modulepath等。我建议你尝试一下傀儡学习VM:并记下一些基础知识。谢谢@Frap。按照这个步骤,在另一台机器上运行主设置和代理,puppet正在确保某些服务正在运行。我通过停止这些服务,然后运行代理并启动它们来测试,所以看起来puppet运行正常。这只是如何“包含”我没有得到的下载模块,以及它转到/home/user/.puppet而不是/etc/puppet/modules的事实。也许$modulepath是我需要看的。干杯:)那样的话,我可以帮忙,回答…太棒了!谢谢,伙计。我不得不重新开始,因为我变得骄傲起来,拆除了傀儡3,试图安装傀儡4,但我把所有东西都弄坏了。结果发现模块也有问题,我想,这没有帮助。不过现在已经开始工作了,非常感谢。我也会阅读额外的阅读。太棒了!谢谢,伙计。我不得不重新开始,因为我变得骄傲起来,拆除了傀儡3,试图安装傀儡4,但我把所有东西都弄坏了。结果发现模块也有问题,我想,这没有帮助。不过现在可以用了,非常感谢