我正在计划大约100-200台服务器的Puppet基础架构。 这是迄今为止的devise: 用于存储puppetconfiguration的存储(git)(不计划使用主服务器)。 Hiera查询yaml,json或者couchdb中的敏感(密码)variables。 PuppetDB? 第三点是我的问题。 我需要报告,似乎PuppetDB将收集我需要的一切。 但是,据我所知,它只会收集和呈现REST API中的数据。 我的问题是,我可以用什么方法来抓取这些数据,并以清晰,可查看的方式呈现? 我需要PuppetDB吗?还是我可以让我的节点将他们的报告发送到不同的报告处理器? 更新1:不知道这是否重要,但我们约70/30 Linux / Windows。
我第一次configuration一个puppet主服务器。 我已经完成了预安装任务 我现在正在进行安装后任务 Puppet文档指出,在启动服务器之前,您应该对puppet.conf文件执行一些编辑。 同样, 根据文件应该位于OS X的/ etc / puppet。 我可以validation文件夹是否存在,但puppet.conf不存在。 运行puppet config print显示以下configuration目录: confdir = /Users/tech/.puppet (configuration打印也确认了大量的预configuration设置) 我可以确认conf文件不存在。 它从哪里拉来这些设置,我应该在哪里编辑puppet.conf?
我有一个相当简单的木偶设置,一个主节点和一个节点,都运行Debian Squeeze 6.0.4。 我有两台机器,客户端和主分别的DNS条目。 客户端和主服务器的DNS条目都可以在两台机器上正确parsing到正确的IP。 在我的客户端,我有这样的configuration: [main] server = master.example.org logdir=/var/log/puppet vardir=/var/lib/puppet ssldir=/var/lib/puppet/ssl rundir=/var/run/puppet factpath=$vardir/lib/facter pluginsync=true templatedir=/var/lib/puppet/templates 密钥交换似乎失败,根据/ var / log / syslog中的这个消息: localhost puppet-agent[11364]: Could not request certificate: getaddrinfo: Name or service not known 为什么决议不适用于傀儡?
我花了太多的时间试图弄清楚现在,我真的需要一个指针。 tl; dr是我需要在一个节点上手动生成证书,然后通过API发出证书请求。 根据官方文件 ,这应该是相当直接的。 这是我做的。 为myhost.foobar.local生成一个证书(来自客户端) $ puppet cert generate myhost.foobar.local 从证书生成CSR(来自客户端) $ openssl req -new -key /var/lib/puppet/ssl/private_keys/myhost.foobar.local.pem -subj "/CN=myhost.foobar.local" -out request.csr 向Puppet主机(从客户端)发出证书请求 API已经打开了远程API调用,所以我们可以从testing节点进行API调用。 但是,我只收到一个错误。 $ curl -k -X PUT -H "Content-Type: text/plain" –data-binary @request.csr https://puppetmaster:8140/production/certificate_request/no_key Could not intern from s: not enough data 其他调用工作正常,如: $ curl -k -H "Accept: pson" https://puppetmaster:8140/production/certificate_statuses/all [ { […]
我只是build立一个新的傀儡服务器,并想找出什么最好的做法目录结构是? 我在不同的论坛和傀儡网站上看了一下,令我感到震惊的是,似乎每个人都以不同的方式展现出来。 没有推荐的方式和目录结构? 到目前为止我有: puppet/ + manifests/ + site.pp + nodes/ + production/ + nodes.pp + dev/ + nodes.pp + modules/ 我只是有点卡住之后:) 所以我想我想分开这个服务器angular色,如“web服务器”,它有一个服务,如“httpd”或“nginx” 最好的方法是把所有这一切,因为它驱使我坚果似乎没有一个首选的方法来做到这一点,或者我只是错过了所有其他信息:( 这是你如何构build目录? puppet/ + manifests/ + site.pp + nodes/ + production/ + nodes.pp (Nodes have roles) + dev/ + nodes.pp + roles/ + web-server-apache.pp (Roles have modules) + modules/ + web-server-apache/ + […]
由于拧了,我必须重新生成客户端和服务器证书。 据我所知,主证书是自动生成的。 所以我在客户端上生成密钥: MASTER # puppet cert clean –all Notice: Revoked certificate with serial 2 Notice: Revoked certificate with serial 6 Notice: Removing file Puppet::SSL::Certificate puppet.x.com at '/var/lib/puppet/ssl/ca/signed/puppet.x.com.pem' Notice: Removing file Puppet::SSL::Certificate puppet.x.com at '/var/lib/puppet/ssl/certs/puppet.x.com.pem' Notice: Removing file Puppet::SSL::Key puppet.x.com at '/var/lib/puppet/ssl/private_keys/puppet.x.com.pem' Notice: Removing file Puppet::SSL::Certificate efikamx-9ba3ab.x.com at '/var/lib/puppet/ssl/ca/signed/efikamx-9ba3ab.x.com.pem' Notice: Removing file Puppet::SSL::Certificate efikamx-9ba3ab.x.com at […]
我想分享这个错误,因为我浪费了一天的时间。 所以我想我可能对其他人有用 我的同事在基础设施团队里有一个傀儡服务器。 他们为我提供了另外一个窗口2008 r2来自己安装木偶代理。 我试图运行木偶代理,它总是显示消息 SERVER上的错误400:环境必须纯粹是字母数字,而不是“puppet-ca”
我想build立一个额外的木偶大师,但只有一个木偶大师处理CA服务器。 我已经按照这里的文档设置了这个: http://docs.puppetlabs.com/guides/scaling_multiple_masters.html 我已经configuration了我的第二个木偶大师,如下所示: [main] … ca = false ca_server = puppet-master1.test.net 我正在使用乘客,所以我有点困惑virtual-host.conf文件应该如何查找我的第二个puppet-master2.test.net。 这是我的(根据Shane Maddens的回答更新): LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-3.0.18/ext/apache2/mod_passenger.so PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-3.0.18 PassengerRuby /usr/bin/ruby Listen 8140 <VirtualHost *:8140> ProxyPassMatch ^/([^/]+/certificate.*)$ https://puppet-master1.test.net:8140/$1 SSLEngine on SSLProtocol -ALL +SSLv3 +TLSv1 SSLCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:-LOW:-SSLv2:-EXP SSLCertificateFile /var/lib/puppet/ssl/certs/puppet-master2.test.net.pem SSLCertificateKeyFile /var/lib/puppet/ssl/private_keys/puppet-master2.test.net.pem #SSLCertificateChainFile /var/lib/puppet/ssl/ca/ca_crt.pem #SSLCACertificateFile /var/lib/puppet/ssl/ca/ca_crt.pem # If Apache complains about invalid signatures on the CRL, […]
我处于这样一种情况,我不断地在开发新的vms。 我有一个基础映像,我可以克隆,但它很快就会过时,你没有办法在很多vms上添加更改。 我想build立一个在虚拟机第一次启动时运行的puppet脚本,并且有很多指导来创build一个由puppet直接运行的site.pp,但是这涉及到一个单独的文件,你必须在节点。 我想要做的就是在puppet master上开发一个安装程序,这样我所有的vms都可以调用相同的点并保持最新,并允许我使用文件服务器等来创build一个全面的包。 我所看到的问题是,我不能/不想依靠主机名来识别虚拟机,我不在乎保留pki的历史,因为虚拟机的名字可能会被重用。 木偶是否可以和傀儡大师一起使用,并基本上忽略所有的pki? 我可以创build一个环境,使我可以通过事实或其他方式注册一个虚拟机吗? 我想做puppet agent type = test1或者类似的。 一般来说,我怎么能通过一个集中式的源代码来使用木偶,我不是特别关心节点的安全性,并且期望节点经常来去呢?
我有几台机器,我通过傀儡pipe理。 机器在不同的物理位置。 每个位置都有一个特定的位置号码。 我有一个configuration文件,需要有正确的位置号码。 所以/etc/abc.conf的内容是这样的: this=that location=$LOCATION_NUMBER bananas=tasty 当文件被下推到机器,我需要$ LOCATION_NUMBER实际上是位置号码。 我可以用木偶pipe理这个文件吗? 如果我为LOCATION_NUMBER导出一个facter,那么当木偶将文件压下到机器上时,木偶会写入正确的位置编号吗? 谢谢。