Articles of 傀儡

集中的Ubuntu的更新服务器

我正在configuration中央更新服务器,以便我们可以更好地pipe理基于Ubuntu的云服务器上的安全更新。 这是我迄今的计划 在云实例上安装apt-mirror 使用大厨/ puppet / ansible(待决定)推出apt.mirror镜像服务器上的sources.list和security.list(这将包含安全性回购) 维护时段每月运行一次 sudo apt-get upgrade -o Dir::Etc::SourceList=/etc/apt/sources.list.d/security.list 首先在我们的舞台环境中使用傀儡/厨师等,如果这是成功的,没有问题重复我们的生产环境。 我试图达到的事情是: 稳定的更新池(apt-mirror) – 我们已经有了过去的实例,在我们之间更新了repo,testing了分段环境和执行生产任务。 一些什么自动化,而不是完全自动化 – 使用厨师,ansible testing能力 – 在舞台1上运行,然后在生产上运行。 只更新安全更新。 能够回滚到之前的软件包版本 – 使用apt-mirror

木偶无法发送事实给工头 – “tlsv1警报未知的ca”

我最近更新了Katello 2.2和Foreman,现在升级到1.8.1,在升级的时候,Puppet现在不能联系Foreman: > [root@virt5 ~]# puppet agent –test info: > Retrieving plugin <snipped> > err: Could not retrieve catalog from remote server: Error 400 on > SERVER: Failed when searching for node virt5: Failed to find virt5. > via exec: Execution of '/etc/puppet/node.rb virt5' returned 1: > warning: Not using cache on failed catalog err: […]

如何保护configurationpipe理服务器

现在有许多configurationpipe理软件select(Chef,Puppet,CFEngine,Ansible …),它们提供了一个在中央服务器上的存储库和使用TCP / IP与服务器通信的客户端的体系结构。 这种架构要求整个networking的客户端能够与服务器进行通信,并将服务器暴露给威胁,因为这是攻击者非常有希望的目标。 据我所知,所提到的工具具有使用私钥密码术对configuration项进行签名的能力。 但是签名密钥是服务器的密钥,它们存储在服务器上。 如果configurationpipe理服务器受到威胁,整个networking可能被认为是受到威胁的。 有没有一种方法可以避免服务器受到损害的风险=整个networking受到影响? 我想到的是在将configuration上传到服务器之前通过个人私钥对服务进行签名。 每个pipe理员都有他自己的。 任何常见的configurationpipe理解决scheme是否提供这样的function,或者是否有不同的方法来缓解上述风险?

木偶大师不执行自动签名脚本

我创build了一个shell脚本来在/etc/puppet/autosign.sh中自动签名Puppet证书请求,并在puppet master的configuration中configuration了这个path。 autosign = /etc/puppet/autosign.sh 现在,我已经给所有用户读取和执行这个脚本的权限。 但是,当testing客户端试图请求证书时,我会在客户端(基于云)上获得以下通知。 Exiting; no certificate found and waitforcert is disabled 并在服务器日志中的以下内容: puppet-master[465]: Could not resolve xx.xx.xx.xx: no name for xx.xx.xx.xx puppet-master[465]: Could not resolve xx.xx.xx.xx: no name for xx.xx.xx.xx puppet puppet-master[465]: www.test.com has a waiting certificate request puppet puppet-master[465]: Could not resolve xx.xx.xx.xx: no name for xx.xx.xx.xx 我已经在/ etc / […]

mco ping不响应一个节点

我们用Puppet/MCollectiveconfiguration了12台服务器。 所有的服务器rspodning mco ping 。 但是我们有一个操作系统的补丁更新,之后,其中一个节点没有响应。 $ sudo tail -f mcollective.log I, [2016-11-28T17:47:53.493341 #25669] INFO — : activemq.rb:129:in `on_connectfail' TCP Connection to stomp+ssl://mcollective@jw-node1-x1:61614 failed on attempt 4620 I, [2016-11-28T17:48:23.495747 #25669] INFO — : activemq.rb:139:in `on_ssl_connecting' Establishing SSL session with stomp+ssl://mcollective@node1-x1:61614 E, [2016-11-28T17:48:23.635431 #25669] ERROR — : activemq.rb:149:in `on_ssl_connectfail' SSL session creation with stomp+ssl://mcollective@node1-x1:61614 failed: hostname […]

Windows上的木偶configuration文件

我作为pipe理员在Windows上运行puppet(在Windows 7上进行testing,即使它没有官方支持)。 当我按照windows安装说明安装puppet时,在C:/ ProgramData / PuppetLabs / puppet / etc中不会生成puppet.conf文件。 我可以运行傀儡代理–genconfig来创build一个,但不pipe我在那里放什么样的价值,它似乎并不尊重他们。 这只是一个木偶/窗户的问题? 还是我做错了什么?

任何Web界面显示部署历史与mcollective?

我正在使用mcollective&puppet进行部署。 我想知道是否有任何用户界面,允许我select特定的软件包/版本,部署和任何用户界面我已经可以使用,这使我可以显示部署的历史和他们的状态。 (我看到glu有一个很好的用户界面,我正在寻找这样的东西, http://linkedin.github.com/glu/docs/latest/html/tutorial.html ) 我想知道我是否可以使用glu(这样我可以得到他们的部署历史贵,如果他们有一个很好的…)与mcollective,但从我明白他们是并行框架。

木偶主从设置

我只想把这个问题放在那里。 我有2个地理位置,A和B.有一个连接A和B的OOBnetworking,即位置A的pipe理设备可以ping位置B的pipe理设备,反之亦然。 每个地点都有一个生产networking。 然而,位置A的生产networking不能ping位置B的pipe理设备,位置B的生产设备不能ping位置A的pipe理设备。 我正在实施傀儡,并且在架构方面有一个问题。 我正考虑在地点A有一个木偶大师,在地点B有一个傀儡奴隶。我想要一个pipe理仪表板,这将使我看到两个生产networking中的所有节点。 我希望位于生产networking中的位置A的傀儡客户能够只与位于地点A的木偶主人和位于生产networking中的地点B的傀儡客户讲话以仅与位于地点的傀儡奴隶B. 我假设这实际上是相当容易设置的。 我将把客户端的puppet.conf文件转移到正确的位置,当puppet服务器处于主从设置状态时,仪表板将能够从两个服务器获取数据并将所有信息整合到一个仪表板中。 这会工作吗?

如何使木偶修复主目录的SELinuxtypes?

我们使用pam_mkhomedir.so来自动创build用SSHlogin的用户的主目录。 pam_mkhomedir中有一个错误,它将SELinux上下文设置为home_root_t而不是user_home_dir_t。 解决scheme是使用我们已经实现的pam_oddjob_mkhomedir。 然而,我们仍然有许多主目录与无效的SELinux上下文。 drwxr-xr-x. jdoe users unconfined_u:object_r:home_root_t:s0 jdoe 我们如何devise一个Puppet模块来纠正所有用户主目录下的SELinux上下文? 我正在考虑这样的解决scheme: file { '/home/*': ensure => "directory", seltype => "user_home_dir_t" } 不幸的是,通配符不起作用。

puppet:启用/禁用recursion目录

所以我有一个基本的修改模块,适用于所有通过hierapipe理的服务器。 一个子模块被称为“文件”,并将脚本放到每个服务器的/ usr / local / bin /中。 所以它遍历文件目录并复制相应的文件。 这工作正常,如果我添加模块。 现在我想通过$ enabled = true | false使这个模块可以在hiera上pipe理。 问题是,在设置ensure =>缺席时,会删除bin目录,并输出一些错误信息,表明它不能删除这些文件,显然是因为bin目录已经被删除了。 所以我想要的只是删除文件,离开斌目录本身。 有任何想法吗? 我偶然发现了这个似乎描述了相同的问题,看起来已经被修补的旧bug。 https://projects.puppetlabs.com/issues/3180 https://projects.puppetlabs.com/issues/3835 更新:重点是不引用清单中的每个文件。 这就是为什么我要使用recursion。 文件/ 文件/ devvm 文件/ devvm / script1.sh 文件/ devvm / live.sh 文件/ devvm-tpl.dev 文件/ devvm-tpl.dev / testscript2.pl 文件/共同 文件/普通/ change_hostname.sh 文件/ srvDC221 文件/ srvDC221 /香肠 class basicmodifications :: files( $ […]