Questions tagged «puppet»

Puppet是一种配置管理工具(Unix和Windows),具有自己的域特定语言。

3
--在nodes.pp中定义通配符主机
有没有一种方法可以在puppetmaster的nodes.pp中定义通配符主机 说我希望一个域中的所有主机都接收一组类,我可以这样做吗: # nodes.pp # node basenode { include admina, adminb, admic } node "*.acme.com" { include adminc }
10 linux  puppet 

6
人偶主机名问题
我在网上搜索,发现其他人在其他列表/板上也遇到此问题。当我在主服务器上签署证书后第二次运行sudo puppetd ​​--waitforcert 60 --test时,出现此错误- notice: Got signed certificate warning: Certificate validation failed; considering using the certname configuration option err: /File[/var/lib/puppet/lib]: Failed to generate additional resources during transaction: Certificates were not trusted: hostname was not match with the server certificate 我不确定我了解什么问题或如何解决。这就是为什么我问。 我正在局域网中的两台服务器上设置人偶。puppetmaster名为“ puppet”,另一台服务器名为“ puppetclient”。我将puppet放在puppetclient的/ etc / hosts中。 运行hostname -f将在相应服务器上显示puppet和pupperclient。我不确定还有什么尝试。有人有见识吗?

1
在systemd服务中,延迟时间是什么意思?
我已经在CentOS 7上安装了Puppet Enterprise。我可以看到几个Puppet服务未能开始说延迟时间已到。这是什么意思? Sep 03 20:50:16 l-pm1 systemd[1]: pe-puppetdb.service holdoff time over, scheduling restart. Sep 03 20:50:16 l-pm1 systemd[1]: Starting pe-puppetdb Service...
10 puppet  systemctl 

1
为什么r10k称为r10k?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,以使其成为服务器故障的主题。 3年前关闭。 我正在使用r10k一段时间。我想知道r10k是什么意思。 问题 为什么将该工具称为r10k?它代表什么? 尝试回答问题 无论是木偶文档,也不是互联网指示了R10K代表
9 puppet  r10k 

2
在AWS中使用Docker / Ansible与Ansible,Puppet和Foreman的不可变服务器模型吗?
我们遇到了一个有趣的争论,并且陷入了两个阵营。我对我们可能会缺少的想法或陷阱的任何特定问题感兴趣。确实,任何可以帮助我们做出决定或指出我们无法解释的事情的事物。我知道这会绕开“无意见”规则,但我希望这仍然是一个可以接受的问题。很抱歉,长度也有很多细微差别。 1)一方面(我-我并非毫无偏见)发现不可变服务器模型对于云系统非常有趣。为此,我们原型化了将基础架构的所有组件移入Docker的过程。我们的定制应用程序通过Jenkins直接构建到部署到本地Docker Registry的Docker映像中。然后,我们创建了大量Ansible角色和一本剧本,该剧本可以连接到空服务器,安装Docker,然后告诉Docker根据需要安装所有容器。几分钟后,整个应用程序及其所有支持的基础结构都已连接并正常工作-日志记录,监视,数据库创建/填充等。完成的机器是一个自包含的QA或开发环境,具有与之完全相同的副本。应用。我们的扩展计划是制造新的Playbook,以从基本受信任的AMI(可能是非常裸露的映像)构建新的AWS服务器,进行生产应用程序的滚动部署以处理配置管理和发布,并且通常不再编辑服务器-只是让他们重新。我不担心在实践中得到我所描述的内容-即使这是一个合理的模型。 2)另一个阵营希望使用Puppet进行配置管理,Ansible部署我们的自定义应用程序,这些应用程序是从我们的构建过程中生成的tarball,Foreman可以处理整个过程的触发和管理,而Katello可以做一些基础工作图像管理。发布将涉及Puppet根据需要更改配置,并通过一定数量的Foreman协调来部署更新的组件。如果我们需要新服务器,则将可以相当快地构建服务器,但目的不是使它们成为一次性使用的标准流程。尽管使用寿命长,但它更接近phoenix服务器模型。 因此,我的问题确实归结为:具有以上所述工具的不可变服务器模型实际上看起来像是现实的吗?我喜欢这样的想法,即我们的登台过程实际上可以实时构建应用程序的完整克隆,让质量检查人员锤打它,然后只需翻转数据库存储和一些DNS设置即可使其生效。 还是不变的服务器模型实际上会失败?我们在AWS和云环境方面都有丰富的经验,因此这并不是真正的问题-而是如何可靠地部署合理复杂的应用程序。由于我们经常发布,因此这特别有趣。 除了实际为我们创建EC2服务器外,Ansible可以完成大多数所需的工作,这并不难。我无法理解为什么您实际上完全需要这个模型中的Puppet / Foreman / Katello。在我所知道的任何工具中,Docker都比自定义部署脚本更加整洁和简单。当您不再担心必须就地配置它们并使用新配置再次构建它们时,Ansible似乎比Puppet使用起来简单得多。我是KISS负责人的粉丝-特别是在墨菲定律猖ramp的自动化领域。机械越少,IMO越好。 关于此方法的任何想法/意见或建议将不胜感激!

1
Mesos部署的最佳基础
我们目前正在设计新的Apache Mesos云设置的体系结构。目的是通过将不同的堆栈移动到同一体系结构来统一我们的系统。主要工作量是使用Apache Spark和我们的公司基础结构(包括Web服务器,邮件服务器等)进行大数据分析。 这个想法是在Docker容器中运行我们的Web服务,该容器在Mesos的可用调度程序之一(Marathon / Chronos,Aurora或Singularity)之上运行。因此,这将是第一个Mesos框架组。在它旁边,我们将具有Apache Spark框架和几个用于数据存储的数据库框架。这将是第二组Mesos框架。在并行运行所有细节进行测试之后,我们将选择细节。 但是,我们很难决定要在哪个基础上运行Mesos。理想情况下,我们希望使其尽可能靠近金属。我们还希望使用业务流程解决方案来确保Mesos&Framework守护程序始终在故障发生时运行/重新启动。我们正在考虑的选项如下: 1)在最小的OS中将Mesos和框架作为docker容器运行。在这方面,我们目前倾向于CoreOS和Fleet。 2)直接在Ubuntu / Debian服务器上运行Mesos和框架。对于此选项,我们倾向于工头和木偶。 至于问题,我们正在寻找一种解决方案,按照重要性从高到低: 配置最简单 是最容易维护和更新的 开销最少 我们以前没有使用CoreOS,但是似乎正在朝着这个方向努力。我遇到的一个大(主观)问题是,我们在Docker容器上运行Mesos,然后在Mesos上运行Docker容器。这似乎是“不洁的”,对我来说是错误的。这种考虑没有道理吗? 类似的想法涉及层之间的冗余。为了说明我的来历,我希望Mesos是仅在金属平台上运行的实际操作系统。看来,无论您使用什么基础,最终都会在多层体系结构(即CoreOS&Fleet&SystemD == Mesos&Marathon&Chronos)上获得相同的预期功能。这是不可避免的吗? 在记住我们的标准的同时,还有其他不错的选择可以在我们未能考虑的Mesos之下运行该层吗?

1
Vagrant可以指向Puppet清单目录执行吗?
我正在使用Vagrant来启动一些初始的Puppet配置,并对如何在木偶执行工作流程中包括/运行多个清单(不仅仅是site.pp)感到困惑,而又没有将多余的清单放入模块并以这种方式包括它们。 在我将Vagrant指向的木偶清单目录中(见下文),我有两个要执行的清单:site.pp和hierasetup.pp。 config.vm.provision "puppet" do |puppet| puppet.manifests_path = "puppet_files/manifests" puppet.module_path = "puppet_files/modules" puppet.manifest_file = "site.pp" puppet.options = "--verbose --debug" end 目前,我将site.pp作为调用hierasetup.pp的清单。我的site.pp看起来像这样: File { owner => 'root', group => 'root', mode => '0644', } import "hierasetup.pp" include jboss 但是我收到关于“ import”弃用的错误: 警告:在/tmp/vagrant-puppet-1/manifests/site.pp:33中不建议使用“导入”。参见http://links.puppetlabs.com/puppet-import-deprecation (位于grammar.ra:610:_reduce_190'中) 根据“尝试的事情”下引用的URL,它表示“ 要将节点定义保存在单独的文件中,请指定目录作为主清单 ”。 进一步,这个关于主要清单的p文件说: “ 推荐:如果您大量使用主清单而不是依赖于ENC,请考虑将清单设置更改为$ confdir / manifests。这可让您在避免使用import关键字的情况下将顶级代码分成多个文件。还将匹配简单环境的行为。 …
9 puppet  vagrant 

6
Puppet或Chef是否适合在多租户环境中管理非常基本的服务器配置?
这涉及多租户环境,例如小型托管公司。 Puppet(或类似产品)是否适合用于处理基本但重要的质量变化?例如: 更新DNS解析器(resolv.conf) 设置SSH密钥 更新NTP配置 配置snmpd 部署监视脚本,例如SNMP Perl扩展或Nagios脚本 我担心的是安全性和入侵性: 我不希望任何服务器都能看到它不应该看到的任何配置 我担心Puppet主服务器可能容易受到受到感染的服务器的攻击 我不希望Puppet进行不应做的任何更改,也不希望还原服务器上所做的任何手动更改。 我应该警告我,我从未在生产中使用过Puppet,只是在测试实验室中快速玩过游戏,所以我可能会以错误的方式来考虑!
9 puppet 

1
木偶:管理(大量)Apache VirtualHost
我正在学习一般的配置管理方式,尤其是使用puppet来实现它。我已经进行了一些一般性研究(也在SF上),现在我正在考虑Apache VirtualHosts。 我们在两个系统上托管了许多LAMP网站(目前在数百个范围内):一个Apache2 / mod_php一个和一个MySQL系统 -基本上与SF上的另一个问题相反,他在该问题上管理着很多服务器,每个服务器只有很少的虚拟主机(如果实际上不是一个,我不知道)。我还没有在puppet中整理一个有效的配置,但这应该不是问题,那里有很多 示例和食谱。 除了显而易见的apache配置文件(我想这里没有问题)之外,每个虚拟主机还需要创建一些目录并检查权限(例如,每个虚拟主机的根目录都包含documentroot,专用的tmp目录,专用的网页服务器上的php会话文件目录(可能是SSL证书等),以及MySQL服务器上的用户+一个或多个数据库。 添加一个新的虚拟主机将要求puppet创建虚拟主机,删除一个虚拟主机则需要puppet运行一些脚本来备份用户数据,然后从两台服务器中删除实时数据,而且每一个运行的puppet代理都将检查是否存在目录,数据库,权限等。 当每次运行木偶时都要运行数百个虚拟主机时,特别是在文件系统中(在Web服务器上)运行虚拟主机时,尤其是将来将来会加载更多系统时,我是否会遇到麻烦?(假设我们将1000-2000个网站范围定位为每个服务器的合理上限)。 有没有在网上进行此操作的经验?我用谷歌搜索,但一无所获,也因为搜索“木偶”和“ apache”时信噪比低。

1
如何使用puppet启用systemd实例化服务?
我有以下木偶服务: service { "getty@ttyUSB0.service": provider => systemd, ensure => running, enable => true, } 当我尝试在客户端上应用此配置时,它将引发以下错误: 错误:/Stage[main]//Node[puppetclient]/Service[getty@ttyUSB0.service]/enable:从false更改为true失败:无法启用getty@ttyUSB0.service: 该服务运行良好,我可以通过将符号链接添加到getty.target.wants来确保它在系统启动时启动: ln -s /lib/systemd/system/getty@.service /etc/systemd/system/getty.target.wants/getty@ttyUSB0.service 从源头上讲,我可以继续从服务定义中删除“ enable => true”,并在p配置中手动包括一个符号链接,但是p不应该照顾这个吗?我做错什么了吗?
9 puppet 

1
相同的班级/模块/性病多次
木偶一定恨我。我已经阅读了数小时的文档,但仍然无法实现以下目标: 一个其中带有变量的类或模块(或称为什么)(参数化类?); 此类应在单个主机中多次包含。 用伪代码,它将是: # The class classorwhatever myclass ($value) { notify { "$value world" } } # In the node definition node whatever { myclass("Hello") myclass("Goodbye") } 我觉得自己很愚蠢,甚至都不有趣。我知道这一定是可行的。但是如何?:(
9 puppet 

1
创建用户时,如何让人偶只设置密码?
我希望Puppet不管理密码(即在更改密码时将其重置),而是在Puppet创建用户时设置初始密码。 我当时正在考虑对设置密码notify的Exec资源执行操作,但是当Puppet管理的任何属性(例如,组成员身份,主目录等)被修改时,都会触发该操作。我不要那个。 有任何想法吗?

2
通过Puppet在Ubuntu中安装open-vm-tools; 小恶魔是什么?
在理想的情况下,配置puppet以安装open-vm-tools应当很简单: class vm-tools { package { 'open-vm-tools': ensure => installed } package { 'open-vm-dkms': ensure => installed } } 但是,这打开了一个丑陋的依赖依赖罐。它安装X,显然不属于服务器。从Ubuntu 10.04开始,这些软件包最终都推荐了open-vm-toolboxGUI工具软件包: # apt-cache depends open-vm-dkms open-vm-dkms Depends: dkms Depends: make Suggests: open-vm-toolbox Recommends: open-vm-tools # apt-cache depends open-vm-tools open-vm-tools Depends: libc6 Depends: libfuse2 Depends: libgcc1 Depends: libglib2.0-0 Depends: libicu44 Depends: …

2
服务器上的错误400:环境必须是纯字母数字形式,而不是'puppet-ca'
我想分享这个错误,因为我为此浪费了一天。所以我认为我可能对其他人有用 我的基础架构团队同事设置了一个伪造的服务器。它们为我提供了另一个窗口2008 r2,可以自己安装木偶代理。 我尝试运行人偶代理,并且始终显示消息 服务器上的错误400:环境必须是纯字母数字,而不是'puppet-ca'

1
如何使用Puppet或MCollective部署滚动式OS升级和重启?
我正在寻找对我的基础架构进行定期滚动升级的最佳方法。 通常,这涉及到在每台主机上一次执行一次: sudo yum update -y && sudo reboot 但是,我达到了可扩展性的极限。 我只想一次在每个角色中一次重新引导一个节点,所以,例如,我不会同时删除所有的负载平衡器或数据库集群成员。 理想情况下,我想执行以下操作: for role in $(< roles_list.txt) ; do mco package update_all_and_reboot \ --batch 1 --batch-sleep 90 \ -C $role -F environment=test done 但是,这似乎并不存在。我不确定使用“ shell”代理是否是最佳方法? mco shell run 'yum update -y && reboot' \ --batch 1 --batch-sleep 90 但是,我只是在寻找错误的工具来完成这项工作吗?有什么更好的方法来管理这种滚动重启,但是我可以以某种方式链接到我分配给Puppet的角色,这样我就不会因为一次不删除任何重要信息而感到自在,但我仍然可以做一些并行更新和重启?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.