linux – 从puppet清单中排除节点的最佳方法

我想从清单中排除几个节点.

我读过“How to exclude Puppet modules for a few nodes?”,但我想实现与https://groups.google.com/forum/#!topic/puppet-users/CdeIUbMwAM4类似的东西:

case $hostname {
        yourspecialhost: { $doit = false }
        default: { $doit = true }
}

if $doit {
        dowhatshouldbedoneinhere
}

由于这篇文章有点陈旧(2008),我想知道现在是否有更短或更清洁的方法来实现同样的目标?

编辑:我们已经尝试过粒度,因为我们有针对webserver或数据库的特定模块.在我们的特定情况下,我们在几年前建立了一个关于sshd的模块.

今天,我必须构建一个具有非常罕见的sshd功能(和不同的二进制)的服务器.因此,我想从sshd模块中排除这个服务器(并且只有这个).

没有Hiera,它可行吗?是否有比引用的语法更清晰的语法?

解决方法

您可能希望更详细地了解您的分类.例如,您的“catch all”模块包含在sites.pp中定义的默认节点中,适合某些角色(如Web服务器或数据库)的模块可以包含在case语句和外部分类器中,并且特定于单个服务器的模块可以是完成hiera甚至主机名匹配.

http://nuknad.com/2011/02/11/self-classifying-puppet-nodes/

相关文章

查找全部容器的日志文件 $ sudo find /var/lib/docker/conta...
Linux日志文件中列属性的详细解析
在Linux系统中没有duf命令,如何有效地管理磁盘空间?
深入探讨EncryptPad在Linux操作系统中的功能和优势
原理和应用场景:Linux中ttyload工具的工作原理和实际用途
深度解析SELinux的三种策略类型