Articles of puppet

如何从puppet运行shell脚本?

我需要安装由curl http://npmjs.org/install.sh | sh完成的npm 对于使用puppet ,我是一个新手,我对这个应该怎么做有点困惑。 我很清楚创build一个调用exec目标的package {}条目,但是当我从源代码安装npm时,这并不会削减它。 我显然不想在每次我的puppet拉动的时候都build立npm ,所以我需要去检查它是否被安装,所以仅仅做一个exec {}也是不够的。 我能做什么?

我怎么才能让木偶在创build用户时只设置密码?

我希望Puppet不要pipe理密码(即在更改时重置密码),而是在Puppet创build用户时设置初始密码。 我正在考虑设置密码的Exec资源的notify ,但是当Puppetpipe理的任何属性被修改时(例如,组成员资格,主目录等),触发这个资源。 我不要那个。 有任何想法吗?

使用Puppetpipe理iptables

用Puppetpipe理我们的iptables规则的想法已经提出来了。 我看到augeas有一个iptables镜头,但它目前是实验性的。 有没有人有如何处理这个问题的build议? 理想情况下,我想构build基于服务器类的链。

使用替代CA(如Microsoft证书服务)和Puppet

我正在调查是否可以使木偶生态系统利用我们现有的微软企业CA而不是自己的CA. 由于木偶吹嘘所有的系统都是“标准的SSL”,我的猜测是完全可以做到这一点,没有太多的傀儡变化,但是除非傀儡被编辑来正确地呼叫企业,否则这可能是一个巨大的人工头痛CA. 有没有人试过这个? 是“这里是龙,转身!” 情况?

Puppet中的filebucketconfiguration

你如何configuration和使用你的Puppet filebucket? 我想: 将文件存储桶数据存储在单个服务器上 能够在必要时审计/parsing/修剪文件存储桶 确保filebucket数据在客户端 – >主服务器之间安全传输

使用Puppet设置sysctl.conf参数

这在CFEngine中是一件轻而易举的事情 ……但是我现在在一个Puppet环境中 ,需要能够分配/确保/检查某些sysctl.confvariables。 在CFEngine世界中,我可以简单地检查configuration文件中的特定行……我已经find了Puppet wiki上的sysctl模块的一个小引用,并且在github上看到了一个项目,它可以做我想做的事情。 但是都没有真正的文件logging。 我只是寻找一种方式来编辑像net.core.rmem_default和net.core.wmem_max两个值。 在github上托pipe的项目格式中,init.pp清单中的configuration应该如下所示: class sysctl { sysctl::value { "net.core.rmem_default": value => "9000000"; "net.core.wmem_default": value => "9000000"; "net.core.rmem_max": value => "16777216"; "net.core.wmem_max": value => "16777216"; } } 通过论坛和邮件列表,似乎对Puppet插件和模块之间的差异感到困惑。 这些条款几乎可以互换使用…我最终需要在我的客户端启用pluginsync,以便通过一些毛茸茸的错误。 我以为这是一个模块! 目前的客户端错误: info: Loading downloaded plugin /var/lib/puppet/lib/puppet/type/sysctl.rb info: Loading downloaded plugin /var/lib/puppet/lib/puppet/provider/sysctl/parsed.rb err: Could not retrieve catalog from remote server: Error 400 […]

Linux和Windows的服务器凭证pipe理

我们是RHEL,Solaris,Windows 2003和Windows 2008服务器混合使用的一个相对较小的商店(就系统pipe理员而言) 总共约200台服务器。 对于我们的pipe理员帐户(Linux中的root和Windows中的admnistrator ),我们有一个密码scheme,取决于数据中心位置和服务器的其他一些logging的属性。 在Linux上,我们目前的做法是创build一个共享的非特权帐户,我们可以findroot 。 在基于Windows的系统上,我们创build了具有pipe理员权限的其他帐户。 这两个帐户共享相同的密码。 这被certificate是非常低效的。 当有人离开我们的商店时,我们必须: 更改pipe理员帐户的密码scheme 为每个服务器生成一个新的pipe理员密码 拿出一个新的非pipe理员帐户密码 触摸每个服务器并更改密码 我想知道是否有人在类似的环境可以build议一个更健全的方式来pipe理这些凭据。 一些相关信息: 尽pipe我们的大部分服务器都是我们AD域的一部分,但并不是全部。 我们用Puppetpipe理我们所有的Linux服务器(密钥authentication是我想到的一个选项,但是它只会解决上面提到的#3问题)。 我们用Cobbler提供Linux服务器。 我们约有10%的硬件专用于VMWare。 在这些情况下,我们使用VMWare模板来构build服务器。 任何想法或build议将不胜感激。 这个问题已经持续了一段时间,我终于想解决这个问题。

如何添加多个DNS名称到我的木偶大师?

我的puppet.conf上的主人 [master] certname = myname.mydomain.com ca_server = myname.mydomain.com certdnsnames = puppet;puppet.local;myname.dyndns.org;hivemind.local; 我的理解与certdnsnames定义如下应该工作: puppet agent –server myname.dyndns.org –test 但我得到以下错误: err: Could not retrieve catalog from remote server: hostname was not match with the server certificate 如何避免这个错误? 如何正确定义certdnsnames? 我发现有关这个不同的文档,但没有一个简单的例子。 ii使用“,”分开我不能签字。 我也看过类似的语法 certdnsnames = puppet:puppet.intra.myserver.fr,puppet.myserver.fr:puppet,puppet:puppet,puppet.intra.myserver.fr,puppet.myserver.fr http://projects.puppetlabs.com/issues/5776 但是对于我来说,还不清楚何时添加“傀儡”,何时不能。

用puppet将行添加到/ etc / profile?

我使用puppet来安装当前的JDK和tomcat。 package { [ "openjdk-6-jdk", "openjdk-6-doc", "openjdk-6-jre", "tomcat6", "tomcat6-admin", "tomcat6-common", "tomcat6-docs", "tomcat6-user" ]: ensure => present, } 现在我想补充一点 JAVA_HOME="/usr/lib/java" export JAVA_HOME 到/etc/profile ,只是为了避免这种情况。 我还没有在文档中find直接的答案。 有没有推荐的方法来做到这一点? 一般来说,我该如何告诉puppet把这个文件放在那里或者修改那个文件呢? 我使用puppet作为单个节点(独立模式)只是为了试用它并保留服务器设置的日志 。