Articles of 木偶

如何获得在Foreman上运行的Run Puppetbutton?

首先,我知道在serverfault上已经有一个非常类似的问题,但是这并不能完全解决我的问题。 所以,我的设置如下:我有一台服务器,运行Ubuntu 14.04 LTS和木偶大师3.4.3与工头1.6。 客户端是运行木偶代理3.7.0的Windows 7计算机。 自动运行工作正常,我只是麻烦得到Run Puppetbutton的工作。 我总是得到这个红色覆盖这个消息: failed to execute puppetrun: ERF12-4252 [ProxyAPI::ProxyException]: Unable to execute Puppet run ([RestClient::InternalServerError]: 500 Internal Server Error) for proxy https://puppetmaster:8443/puppet 我遵循wiki的指示,并在节点上添加了以前不存在的文件auth.conf。 我把它放到了puppet.conf文件所在的C:\ProgramData\PuppetLabs\puppet\etc\目录下。 我也添加了一个空的namespaceauth.conf到这个目录。 在节点和服务器上,我激活了listen = true。 我把sudo-proxy添加到了sudoers文件中。 我重新启动了节点服务和puppetmaster几次。 这是我发现的所有其他post说“现在你有一个工作运行木偶button”。 除了我以外,它不工作。 我能find的唯一日志条目是在/var/log/foreman-proxy/proxy.log中: E, [2014-10-20T17:50:53.051681 #1119] ERROR — : Failed puppet run: Check Log files 我检查了所有可以find的日志文件,但找不到有关此错误的更多信息。 编辑:添加链接到维基第二编辑:我也检查了工头错误代码 ,但不幸的是,我得到的代码没有任何信息链接到它。 (是的,我检查代理通信错误 […]

为什么一些r10kconfiguration文件启动他们的YAML行:

我正在考虑为Puppet部署设置r10k,并且我有各种示例r10k.yamlconfiguration文件,但是有些似乎使用了额外的:在许多行的开头,例如http://www.rubydoc。 info / gems / r10k / 1.1.4 : — :cachedir: '/var/cache/r10k' 但是,在https://github.com/puppetlabs/r10k/blob/master/r10k.yaml.example : — cachedir: '/var/cache/r10k' 有什么区别,为什么我会使用其他的?

自动化和部署新的Linux服务器

我正在开发一种将新虚拟机自动化到我的环境中的方法。 我们的机器中有90%是虚拟的,但是对于基于物理和基于vmware的映像,这个过程是相似的。 我现在所做的就是使用皮匠来安装基本的操作系统。 kickstart脚本有post hook来修改yum repo并安装puppet和func。 一旦服务器正在运行,我手动将它们添加到Nagios中,并通过puppetmaster签名证书。 我已经迁移了大部分资源来使用mysql作为后端。 我想看看其他人在做什么,我的目标是2011年的目标是傀儡库存的硬件到MySQL,不知何故,我会编写一个python脚本,让纳吉奥斯获取信息,并自动添加为监测目的。 将每个新服务器添加到Nagios,puppet的仪表板,munin等等是一种乏味的工作。

安装puppet-dashboard的问题

我使用Ubuntu 12.04 LTS(32位,服务器),木偶2.7.17,ruby1.8.7.352 ruby​​gems 1.8.15。 和Apache 2.2.22。 当我尝试运行命令来迁移数据库时, <server>:/usr/share/puppet-dashboard# rake RAILS_ENV=production db:migrate 我得到以下错误: NOTE: Gem.source_index is deprecated, use Specification. It will be removed on or after 2011-11-01. Gem.source_index called from /usr/share/puppet-dashboard/config/../vendor/rails/railties/lib/rails/gem_dependency.rb:21. NOTE: Gem::SourceIndex#initialize is deprecated with no replacement. It will be removed on or after 2011-11-01. Gem::SourceIndex#initialize called from /usr/share/puppet-dashboard/config/../vendor/rails/railties/lib/rails/vendor_gem_source_index.rb:100. NOTE: Gem::SourceIndex#add_spec is deprecated, use […]

通过Puppet提供文件:“无法评估”

TLDR版本:鉴于fileserver.conf的正常使用,如何构build一个真正可以工作的puppet URL? 。 我正在尝试开始使用Puppet和一些虚拟实例。 对于第一个任务,我试图使用文件types来分发authorized_keys文件。 是的,它可以用ssh授权的密钥types来完成,但这是关于现在的文件分发 ,对吧? 文件服务wiki意味着我应该构build的path。 首先,这是puppetmasterd知道的: $ grep -B 1 path /etc/puppet/fileserver.conf [files] path /etc/puppet 其次,我创build了一个文件/etc/puppet/modules/ssh/manifests/init.pp ,它包含以下内容: $ cat /etc/puppet/modules/ssh/manifests/init.pp class ssh { file { "/home/ubuntu/.ssh/authorized_keys": source => "puppet:///modules/ssh/authorized_keys", mode => 400, owner => ubuntu, group => ubuntu } file { "/home/ubuntu/.ssh": ensure => directory, mode => 700, owner => ubuntu, group […]

多个共享一个configuration文件的puppet资源

我正在开发一个用于pipe理JBoss应用程序服务器的自定义puppet模块。 我认为应用程序服务器上部署的每个应用程序都是一个独立的资源。 但是有些应用程序需要在JBoss的configuration文件中进行专门的configuration更改。 每个应用程序也是一个puppet资源,但大多数应用程序并不知道对方。 目前,我使用augeas在JBoss的configuration文件上执行更改。 即使许多资源需要在configuration文件上进行更改,也是如此,但它非常复杂,容易出错,速度也很慢。 其实我想为configuration文件使用模板,但问题是我怎么可以聚集所有来自不同(子)模块的所需的工件,然后触发模板机制,而不必知道如何configuration人工配件呢? 例: define jboss_config($config) { # do something with the config } jboss_config { config => 'some configuration for app 1' } jboss_config { config => 'some configuration for app 2' } jboss_config { config => 'some configuration for app 3' } jboss_config { config => 'some configuration for […]

木偶:在文件之前创build服务,但如果文件更改通知服务

我想要在服务nginx后创build文件“运行”,但也想通知服务nginx如果文件运行的变化。 通知意味着它在nginx之前运行。 用例如下。 我们使用dj bernsteins daemontools来pipe理nginx。 由于我们需要做一些步骤(创build/ etc / service,添加运行文件..),我们build立一个定义的types来完成这些事情。 现在我们不希望我们的nginx模块与daemontools模块有任何连接,这就是为什么我们不想订阅daemontools文件。 也订阅会扭转依赖周期。 我正在寻找类似的东西,只有在模块nginx完成时才运行模块。 class { daemontools: file {'run': require => Service[nginx], notify => Service[nginx]; # <<< this wont do 🙁 } } class { nginx: service { 'nginx': } } 有任何想法吗? 托马斯

傀儡 – 删除login用户?

我刚开始学习木偶,遇到了一个问题,我想知道如果有人知道如何解决。我试图删除一个用户,我得到一个错误消息,说明他们login,所以不能被删除。 现在在这种情况下,我知道他们login的服务器,所以我可以简单地login用户,然后从那里继续。然而我的问题是,当你不知道他们login到什么服务器时,你会怎么做? 请记住它可能是许多服务器。 有没有强制删除选项或一种方式来login用户在木偶? 代码如下: user {'art': ensure => absent, } 错误: 错误:无法删除user art:执行'/ usr / sbin / userdel art'返回8:userdel:user art当前login 错误:/ stage [main] / Main / Node [demo] / User [art] / ensure:从目前更改为不存在失败:无法删除用户art:执行'/ usr / sbin / userdel art'返回8:userdel :用户艺术当前login

将木偶客户迁移到新的木偶主人(旧木偶主服务器不见了,只使用备份)

我的木偶主服务器有硬件故障,我已经恢复到另一个盒子。 但是这个盒子有不同的硬件和主机名。 如果我将现有的/ etc / puppet目录恢复到新服务器,puppetmaster将不会以下列错误启动; # puppetmasterd –debug –verbose Could not prepare for execution: Retrieved certificate does not match private key; please remove certificate from server and regenerate it with the current key 那么,我需要采取什么步骤让新的木偶大师开始,并使用旧的木偶生成一个新的木偶大师证书。 傀儡客户也会使用旧的CA生成的服务器证书实际报告不同的傀儡服务器?

寻找备份/重新创build解决scheme

我有两台运行不受支持的古老版本的Linux的关键服务器,目前还没有针对它们的灾难计划。 我想为他们build立一个备份系统,并能够制定一个愚蠢的灾难计划。 服务器不能closures,因此冻结它们以获得快照,或复制是不可能的。 我看着厨师和傀儡,我不知道这些是否值得一试。 我想听听build议。