Articles of 木偶

当本地用户名与networking用户名冲突时该怎么做

我们使用Puppet来pipe理我们的Linux桌面机器和SSSD,以使我们的用户通过中央authentication系统进行authentication。 最近当我们build立了几台新机器的时候,我们发现木偶在安装软件包的过程中正在停止。 罪魁祸首是kdm包,当最近一个“kdm”用户名被添加到中央机构时,它试图添加一个本地“kdm”用户。 通常情况下,我发现这个问题是通过命名空间分割机制(比如Windows域)来处理的,但是我在Linuxpipe理中的短暂时间并不能真正帮助我find一个好办法。 我可以想出如何解决这个问题的一些一般想法(最优雅到最不优雅): 找出从中央用户名划分系统用户名的一个好方法,这样以后的冲突就不成问题了。 使用dpkg标志强制kdm包添加一个不同的用户名(或使用nobody)。 强制dpkg添加用户。 这将不允许用户login到我们的系统,但这很可能不会成为问题。 当然,(2)和(3)并没有解决潜在的问题,但是如果(1)式中的解决scheme对我们目前的设置造成特别的损害,则像(2)或(3) 。

木偶:如何提交命令“百胜更新”所有代理?

我是新来的木偶,并试图创build清单,将要求所有代理更新所有当前安装的yum软件包。 在清单中描述这个最好的方法是什么?

木偶资源输出 – 这是告诉我什么?

我有点困惑puppet resource命令的输出,文档不帮我。 如果我运行puppet resource user myuser例如,它会产生: user { 'myuser': ensure => 'present', comment => 'Ubuntu', gid => '1000', groups => ['cdrom', 'floppy', 'sudo', 'audio', 'dip', 'video', 'plugdev', 'netdev'], home => '/home/myuser', shell => '/bin/bash', uid => '1000', } 这个命令给出相同的输出,无论用户帐户是否是木偶化的。 在这种情况下,节点没有应用的Puppet清单影响这个用户。 我可以删除这个帐户,它不会被重新创build。 那么,这个输出告诉了我什么? ensure => present属性肯定不会告诉我Puppet会确保这个帐号存在。 这基本上是告诉我'如果你想让Puppet保持这个用户帐户在它的当前configuration状态,这是你将坚持在清单'? 还是我完全误解了这一点?

Centos 5 – 使用官方存储库升级手动安装的Puppet服务器

我有Puppet服务器版本2.6.4直接手动安装使用RPM软件包(而不是使用Yum从存储库中获取软件包)。 现在我想通过使用Puppet Labs存储库和Yum进行安装,尽可能安全地将其升级到最新版本(3.6)。 如果出现问题,我该如何回滚更改? 升级前应该如何备份当前的设置?

是什么导致Puppet中的错误“无法从远程服务器检索目录:执行已过期”

我的傀儡代理随机失败,出现以下错误: err无法从远程服务器检索目录:执行过期Puppet 2014-09-11 22:25 UTC err无法检索目录; 跳过运行Puppet 2014-09-11 22:25 UTC 注意使用caching的目录傀儡2014-09-11 22:25 UTC

在木偶中使用数组

我有一个variables$IP = [ "91" , "92" ]和$IPPriveeInstance = "10.248.33.$IP" 。 你猜对了,我想用这个variables2次,但是当我打印IPPriveeInstance ,得到的输出是10.248.33.9192。

任何configurationpipe理系统是否明确支持直接在服务器上进行的configuration更改?

总的来说(据我所知),主要的基础设施/configurationpipe理系统(Puppet,Chef,Ansible和SaltStack)是基于你的服务器是“牛”而不是“宠物”的理念。看起来他们可能会与您将configuration直接更改到服务器的想法相悖。 虽然我曾经和Chef,Puppet和Salt一起工作过,但从一个开发者和Vagrant合作开发个人盒子的angular度来看,我的经验总是无法回答这个问题。 问题是:这些系统中的任何一个都支持直接向服务器进行更改的用例,并且不用担心本地守护进程会用官方configuration覆盖它呢? 您应该能够做出改变(并且理想地设定在其期间被覆盖保护的时间窗口),而不对厨师食谱或盐状态进行任何显着改变。 这个用例的全部目的是为了避免让公司的摩擦和寻找合适的(例如)盐状态并确保没有任何副作用并且经历释放/部署循环和testing,以确保你在这个过程中没有任何东西。 如果你想要一个更具体的例子,假设你想调整多个日志的logrotate设置,来平衡保存驱动器空间和访问历史数据。 您可以了解在任何特定环境下您将保存多less数据,以及您认为需要保留多less数据,但是您不能100%确定。 (1)任何人抱怨说,他们需要更多的历史数据来进行一些debugging任务,或者(2)您没有像预期的那样节省更多的驱动器空间,并且需要保存。 如果你的configurationpipe理系统允许它变成一个,那么五分钟的变化实际上可能是一个五分钟的变化,然后一旦你确定你希望所有的变化满足特定的angular色,你可以让厨师/木偶/盐/ Ansiblepipe理你的。 注意:我不是在询问configurationpipe理系统尚未pipe理某种types的configuration文件的用例,而是一个已经在pipe理某种types的configuration文件的情况,但是您想进行本地更改并且让他们在给定的机器上优先,而不会被覆盖。 有没有这些系统支持我的使用情况? (不要求我与系统作斗争或做后空翻使其工作。)

傀儡:在覆盖文件之前停止服务

我有以下简化的configuration: file { '/etc/foo.conf': ensure => file, content => epp('my_module/etc/foo.conf.epp'), ; } service { 'foo': ensure => running, enable => true, subscribe => File['/etc/foo.conf'], ; } 当我更新模板时,puppet覆盖/etc/foo.conf然后重新启动服务。 我的问题是我需要在覆盖文件之前停止服务,因为当服务停止时,将其在内存中的configuration写回文件。 有没有办法用木偶做呢?

低/毫不费力地将LAMPconfiguration部署到新的盒子

我花了很多时间设置新的Centos 6实例。 我对大多数的configuration文件和所有的webapp源文件(Github)都使用了VCS(Subversion),但即使是优秀的软件包pipe理器(如yum,npm,easy_install等)也需要时间。 我想通过注册一个帐户,login并自动将我的标准化configuration吸收到盒子上来尝试一个新的潜在的Web主机。 我知道有一些工具可以帮助您: Puppet Chef Vagrant 和一套销售解决scheme的服务: [Jumpbox] http://www.jumpbox.com/ [BitNami Cloud] http://bitnami.org/cloud 我不介意花时间学习一个新的工具,但作为一个没有预算的初创公司,我渴望保持每月的成本下降。 我最担心的是在服务器configuration上花费的时间远离代码库,这就是我认为我的团队和我应该投入我们的精力的地方,至less在我们获得资助和扩大规模之前。 我会感谢一些build议,以哪种方式跳转configuration: 坚持SSH和手动部署,至less在你变大之前。 咬住子弹,学习[说]傀儡。 您可能只能使用它8-10次,但支付这样一个简单的可调服务器引导是值得的。 不要打扰,只需支付$ 100 /月的标准configuration服务。 它会花费你1000美元/年,但你应该专注于代码。 在这个领域的其他问题 我使用了相当复杂的堆栈(Drupal,Zend Server,MySQL,PHP,MongoDB,Python,django),但是有没有标准(ish)设置,包括这些或者我可以更快build立? configuration是否针对小型,中型,大型VPS(1GB,4GB,16GB)进行了优化? 他们有多安全?

如何添加几行文件与Puppet

我没有find任何优雅的方式来添加几行到现有的文件。 我注意到了简单文本模式的 wiki页面,但我必须在/etc/network/interfaces添加一个块。 任何线索?