有没有办法在puppetmaster的nodes.pp中定义通配符主机 说我想在一个域中的所有主机接收一组类可以做我喜欢的东西: # nodes.pp # node basenode { include admina, adminb, admic } node "*.acme.com" { include adminc }
注意:有很多理论问题。 最近,我正在阅读关于Puppet(以及类似的系统)的内容,正如我所相信的,这可以使我的工作变得更加轻松。 但是,我试着 – 但不幸的是 – 不能理解我能“傀儡”的东西。 我可以想象“云”或HA群集,在更多的服务器上,相同的configuration在哪里。 但是工作站呢? 我有一个电脑(kvm的centos),一个笔记本(fedora)和个人服务器,可以(或应该)puppetized? 什么是(dis)优势? 或者在我们公司,我们有数百个服务器(主要是centos),但是每个服务器都有一点点不同。 不能决定是否有更好的configuration在一个地方(Dis)优势? 我会很高兴你的意见或与这个主题的链接。
木偶报告正在使用大量的磁盘空间: /var/lib/puppet/reports /var/lib/mysql 这个假设是它将所有报告存储在MySQL数据库中,因为两个path的大小大致相同。 resource_statuses表由行组成,每行代表报告文件中的一行。 在Puppet-dashboard或PuppetDB处理它们之后,可以安全地删除/ var / lib / puppet / reports中的报告吗? 处理报告的最佳做法是什么? 有没有办法使Puppet仪表板自动删除yaml报告文件后处理它们?
从0.24.8开始,Puppet模板可以调用Puppet函数吗? 我可以通过调用清单中的函数,将返回值赋给variables,然后在模板中使用lookupvar('variable')来获得类似的function,但是我想剪掉中间人。
我们正在为我们的基于RHEL / RHEL的服务器执行自动更新。 最初的想法:使用Puppet,我们禁用默认存储库并指向我们自己的。 然后,我们使用ensure => latest作为我们想要自动更新的包。 问题:我们看到有些服务在更新后重新启动(duh)。 问:有没有人对如何更好地自动化Linux更新和减轻服务自动重启的策略有任何build议? 我们更喜欢包含Puppet的解决scheme,但是,如果我们需要使用其他服务,那不是一个破坏交易的方法。 编辑 可能的解决scheme:我提交了一个解决scheme,实现了许多@ voretaq7和@ewwhitebuild议的内容。 看来这就是我现在要走的路线。 如果您有其他build议,请发表评论或提交答案。
我们有很多服务器,并且仍然想要全部更新它们。 实际的方法是,任何系统pipe理员从服务器到服务器,并进行aptitude update && aptitude upgrade – 它仍然不是很酷。 我正在寻找一个更好,更聪明的解决scheme。 木偶能做这个工作吗? 你怎么做呢?
我正在创build一个用户如下 user { $username: comment => "$name", shell => "$shell", managehome => false, password => "$password", groups => $groups } 现在,你可以看到我正在做一个pipe理家是错误的现在稍后在通道我需要将文件推送到用户的主目录。 $key = "${homedir}/${name}/file" file { $key: ensure => present, owner => $username, group => $username, mode => 600, content => "$keyvalue", subscribe => User[$username], } 我怎样才能得到这个用户的主目录 ?
我试图像这样运行一个模块: puppet apply –verbose –modulepath=moduleshere –noop -e 'include myclass' 但是,我得到这种错误,表明path没有设置 Parameter unless failed: '[ -e "${logfile}" ]' is not qualified and no path was specified. Please qualify the command or specify a path. 我不想在每个这样的位置明确地指定path,并且在作为完整的木偶运行的一部分运行时工作正常。 如何在运行单个模块时指定path?
通常在处理复杂的傀儡模块时,我会在节点级别或类内设置variables。 例如, node 'foo.com' { $file_owner = "larry" include bar } class bar { $file_name = "larry.txt" include do_stuff } class do_stuff { file { $file_name: ensure => file, owner => $file_owner, } } 在这种情况下,参数化类如何/何时/为什么会起作用? 你如何使用参数化类来构build你的木偶模块?
我想知道如何手动(使用openssl而不是puppet ca命令)创build可以由Puppet使用的CA? 目标是创build这样的CA,将其部署到多个puppetmasters上,而不是通过puppet cert命令在其上创build证书。 任何想法如何做到这一点? 我只能find这样的东西: https ://wiki.mozilla.org/ReleaseEngineering/PuppetAgain/HowTo/Set_up_a_standalone_puppetmaster但它没有工作 – 在创buildCA和客户端证书并将其应用到puppetmaster后,它抱怨: Feb 16 09:35:20 test puppet-master[81728]: Could not prepare for execution: The certificate retrieved from the master does not match the agent's private key. Feb 16 09:35:20 test puppet-master[81728]: Certificate fingerprint: 4F:08:AE:01:B9:14:AC:A4:EA:A7:92:D7:02:E9:34:39:1C:5F:0D:93:A0:85:1C:CF:68:E4:52:B8:25:D1:11:64 Feb 16 09:35:20 test puppet-master[81728]: To fix this, remove the certificate from both the […]