深入探索Puppet架构设计与可复用模块编写
1. 无节点site.pp的设计
在Puppet架构设计中, site.pp 文件不一定需要在其导入文件内容中包含节点定义。当通过事实驱动一切、在Hiera中管理类包含,或者使用基于主机名的条件语句设置顶级作用域变量来识别节点时,就不需要节点定义。
以下是一个无节点 site.pp 的示例:
# nodeless site.pp
# Roles are based on hostnames
case $::hostname {
/^web/: { $role = 'web' }
/^puppet$/: { $role = 'puppet' }
/^lb/: { $role = 'lb' }
/^log/: { $role = 'log' }
/^db/: { $role = 'db' }
/^el/: { $role = 'el' }
/^monitor/: { $role = 'monitor' }
default: { $role = 'default' }
}
# Env is based on hostname or (sub) domain
if 'devel' in $::fqdn { $env = 'devel' }
elsif 'test' in $::fqdn { $env = 'test' }
elsif 'qa' in $::fqdn { $env = 'qa' }
else { $env = 'prod' }
include site
# hiera_incl
超级会员免费看
订阅专栏 解锁全文
599

被折叠的 条评论
为什么被折叠?



