我试图设置puppet的仪表板来监视我的服务器的状态。 使用下面显示的configuration,我的客户端(或节点)只显示为“ 未报告”,并表示在“上次报告”中Has not reported 。 然而,节点可以与服务器进行通信并根据需要进行更改,但没有任何内容出现在短划线中。 我已经按照这些文件试图设置它,但我不知道我做错了什么。 我错过了什么明显的? // Server /etc/puppet/puppet.conf [master] reports = store,http reporturl = http://192.168.1.101:3000/reports/upload // Client /etc/puppet/puppet.conf [agent] report = true
我有一个通知傀儡代理的文件。 在network模块中,代理设置包含在.gemrc文件中,如下所示: file { "/root/.gemrc": content => "http_proxy: $http_proxy\n", notify => Service['puppet'], } 问题是傀儡停下来,不重新启动。 Aug 31 12:05:13 snch7log01 puppet-agent[1117]: (/Stage[main]/Network/File[/root/.gemrc]/content) content changed '{md5}2b00042f7481c7b056c4b410d28f33cf' to '{md5}60b725f10c9c85c70d97880dfe8191b3' Aug 31 12:05:13 snch7log01 puppet-agent[1117]: Caught TERM; calling stop 我假设代码做了像/etc/init.d/puppet stop && /etc/init.d/puppet start类的东西。由于puppet没有运行,所以它不能启动…这是有道理的。 当这个文件改变时如何让puppet自动重启? 请注意,该文件可能不存在。
我是木偶新手 – 我一直在玩基本知识。 在puppet页面上的大多数例子(除了非常基本的例子)都不适用于我 – 要么是某些依赖项丢失,要么是没有find包。 我没有看到日志解释出了什么问题(即使我运行–test或–verbose选项) 任何人都可以澄清如何傀儡pipe理从标题安装任何给定的包(例如从一个清单开始,如下所示: class httpd { package { 'httpd': ensure => installed, } } 这里 – 从'httpd'开始 – 当我们运行木偶时会发生什么情况,适用于这个清单? 它在哪里find安装程序(即在哪里存储库 – 它在哪里configuration?) 具体来说,我得到这个错误: err: /Stage[main]/Ntp/Package[httpd]/ensure: change from absent to present failed: Execution of '/usr/bin/yum -d 0 -e 0 -y install httpd' returned 1: Error: failure: repodata/filelists.xml.gz from base: [Errno 256] […]
使用当前版本的Puppet和Facter,我在lsbdistid和operatingsystem事实中得到了相同的信息 – 我没有看osfamily因为在Gentoo Linux上它报告了一个通用的“Linux”string。 在Puppet模块中使用这些信息时(例如select要安装的软件包名称),在使用lsbdistid或operatingsystem是否有任何技术原因或达成共识?
我需要使用Puppet为该用户创build一个用户帐户和大量文件。 使用最直接的方法工作正常,但是在每个file资源上,我必须指定owner => 'theuser' ,这似乎是非常多余的(如果我不是最终拥有root的话)。 有没有办法让所有者有一个范围的默认值? 或者像傀儡在那个用户下运行某些资源的sudo?
任何人都知道一个聪明的方法来获取木偶清单中的数组的最后一个元素? 现有的代码如下所示: class nginx { define vhost { #—– # Init vars #—– $app_parts = split($name, '[_]') # I can access any element using numeric notation notify { "Element: ${app_parts[0]}": } # How do I access the last element?
以ssh_authorized_key为例, define sshauthkeys::helper ($user,$ensure='present') { ssh_authorized_key { "puppet: ${name2} ${user}": ensure => $ensure, type => $ssh_keys["${name2}"]["type"], key => $ssh_keys["${name2}"]["key"], user => "${user}" } } 假设我想引入对该资源types的“target”参数的支持,我会做如下的操作: define sshauthkeys::helper ($user,$ensure='present', $target='') { 问题是,如果我想使用来自$ user的homedir派生的傀儡的合理默认值,并在边缘情况下覆盖它,我将失去在所有其他情况下设置默认值的工作的好处。 有没有办法可以覆盖的价值而不必写两个函数? 更好地描述问题: 定义sshauthkeys :: helper($ user,$ ensure ='present',$ target =''){ ssh_authorized_key { "puppet: ${name2} ${user}": // etc etc… target = $target // ^— […]
我刚刚开始阅读r10k,因为我喜欢它可以创build基于Git分支的dynamic环境。 现在,我刚刚读到,木偶可以做到这一点没有r10k。 什么r10k提供木偶不能已经做? 如果我只想要基于Git分支的dynamic基于目录的环境,我甚至需要r10k吗?
我的第一个想法是做这样的事情: define my_user( $name = $title, $ensure = present, $uid, $gid, $password, $groups, $comment, $shell ) { $managehome = $ensure ? { present => true, default => false, } user { $name: ensure => $ensure, managehome => $managehome, uid => $uid, gid => $gid, password => $password, groups => $groups, comment => $comment, shell => […]
我想通过木偶添加一个系统用户到Debian框。 用户是: user { 'puppet': ensure => 'present', comment => 'puppetserver daemon', gid => '109', groups => ['www-data'], home => '/opt/puppetlabs/server/data/puppetserver', shell => '/bin/false', uid => '107', } (从puppetserver包创build的用户获得的uid和gid)。 我可以相信,其他服务还没有在某些盒子上使用107吗? Debian上有没有safe uid ? 它是如何工作在Debian的系统用户的uid分配?