优化Puppet清单编写的实用指南
1. 定义Web服务器角色类
为Web服务器角色定义 roles::webserver 类,代码如下:
roles/manifests/webserver.pp
class roles::webserver {
include profiles::apache
include profiles::base
}
将 roles::webserver 类应用到节点,在集中式安装中,可以使用外部节点分类器(ENC)将类应用到节点,或者使用Hiera定义角色:
node 'webtest' {
include roles::webserver
}
这种将Web服务器配置拆分为不同配置文件的方式,能让各部分独立应用。 roles::webserver 类仅包含基础和Apache类。
2. 使用Puppet中的数据类型
在早期版本的Puppet中,变量没有类型,这虽使编写代码更简单,但会引发诸多问题,如类型不匹配。为解决此问题,Puppet 5引入了 assert_type 函数,替代了之前的验证函数。
以下是一个确保密码变量至少为8个字符的示例:
$password = "pass"
超级会员免费看
订阅专栏 解锁全文
13

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



