我想排除清单中的几个节点。 我读过“ 如何排除几个节点的Puppet模块? ”,但我想实现类似https://groups.google.com/forum/#!topic/puppet-users/CdeIUbMwAM4的操作 : case $hostname { yourspecialhost: { $doit = false } default: { $doit = true } } if $doit { dowhatshouldbedoneinhere } 由于这篇文章有点老了(2008),我想知道现在是否有更短或更干净的方法来实现同样的目标? 编辑 :我们已经试图细化,因为我们有特定的networking服务器或数据库模块。 在我们的具体情况中,我们在几年前build立了一个关于sshd的模块。 今天,我必须build立一个非常罕见的sshdfunction(和不同的二进制)的服务器。 因此,我想从sshd模块中排除这个服务器(只有这个)。 没有Hiera是否可行? 有一个比引用的语法更清晰的语法吗?
我想确保用户bob在每个由puppetpipe理的服务器上的轮组中,但是我不想为该用户更改任何其他组成员身份,如果在一个节点bob属于apache组,另一个他在sftpusers 。 我想把他留在他所属的任何一个组里,另外确保他在车轮上。 什么是适当的解决scheme? 它不能是exec => usermod或类似的东西俗气。 必须有更好的想象。
一个木偶新手,我目前正在开发一个部署脚本,在启动时从rc.local启动几个foreverjs服务。 我担心的是,在Ubuntu中, rc.local在文件底部出现一个exit 0 。 我没有看到使用stdlib的file_line指令的方法 ,以确保我的线出现在退出命令(或其他地方,特别是如果需要的话) 之上 。 我可以用一个exec块和一些丑陋的sed来实现,但是在傀儡中必须有一个更加标准和优雅的方式吗?
我有一个像这样的默认节点: node default { include test_server # A bunch of other irrlevant includes } 然后我有一个像这样的节点规范: node linus inherit default { include production_server } 我想取消包含test_server和production_server因为它们是互斥的。 我如何做到这一点?
我正在尝试debugging与基于时间表的资源相关的问题。 我的日程安排限制这个资源只适用于一天一次。 我可以暂时改变时间表,但我希望避免这种情况。 在puppet客户端上是否有一些文件可以删除/截断/修改,以便它在当天(或其他时间段)没有运行?
现在我 login到新的服务器 把木偶大师放在/ etc / hosts中 安装木偶 在/ etc / default / puppet中将“START”更改为“yes” 将[server]改为[main]下的puppet master name 使用–waitforcert运行代理 在木偶大师上签字。 我想这是自动的。 长期目标是随着资源的需要轻松扩大和缩小。
我是Puppet的新手,并开始使用它我想学习如何pipe理系统用户。 我有几个用户,有共同的属性,所以我想我应该把事情排除在外。 经过一番斗争,这是我带来的: define staff::ssh_key($user) { ssh_authorized_key { $name[name]: ensure => present, key => $name[key], type => "ssh-rsa", user => $user, require => File["/home/${user}/.ssh"], } } define staff($fullname, $ssh_keys, $shell = "/bin/bash") { user { $name: ensure => present, comment => "${fullname},,,", home => "/home/${name}", managehome => true, groups => ["users", "adm", "sudo"], shell => […]
我正在尝试使用代理服务器和主服务器设置一个基本的puppet代理/主用例。 我已经分别设置了两个木偶和木偶主机的服务器。 在两台服务器的以下设置之后: puppet master –no-daemonize –verbose puppet agent –test puppet cert –list to get the list, puppet cert –sign <certname> to sign it. puppet agent –test 我收到消息: err: Could not retrieve catalog from remote server: hostname was not match with the server certificate warning: Not using cache on failed catalog err: Could not retrieve […]
我看到我可以安装puppet作为Debian / Ubuntu包来自动部署。 但是,我也可以引导一个完整的(非虚拟)服务器,包括使用puppet分区硬盘驱动器等吗?
下面附上的是我写的一个puppet模块,它将iptablesconfiguration推送到我们的负载均衡器。 它是有效的,除了这样的禁止应用脚本运行每个木偶运行,无论服务本身是否实际上有一个更新。 我的问题是,为什么执行者每次运行都会触发,我怎么才能在订阅的服务刷新时运行呢? 我曾经尝试删除Exec中的“onlyif”语句,认为可能是onlyif会触发一个无条件的执行,但即使没有“onlyif”,exec仍然会触发每一个puppet运行。 节点定义与此类似,没有指定任何参数: node /or-rtlb\d{2}/ { include iptables } 这里是这个类的代码: class iptables ($ApplyBans=true) { if $hostname =~ /(?i:or-rtlb\d{2})/ { $ip6tables_file="or-rtlbs.ip6tables" $iptables_file="or-rtlbs.iptables" } if $hostname =~ /(?i:or-puptest)/ { $ip6tables_file="or-rtlbs.ip6tables" $iptables_file="or-rtlbs.iptables" } case $::osfamily { RedHat: { file { "/etc/sysconfig": ensure => directory, owner => root, group => root, mode => 0755 } file { […]