充分利用语言的完整工具集
在配置管理中,我们常常需要高效地管理和分配资源。Puppet 提供了一系列强大的功能,让我们可以更灵活地处理各种资源。下面将详细介绍 Puppet 中的资源标签、资源导出与导入、资源参数覆盖以及资源默认值等重要特性。
资源标签的使用
Puppet 会隐式地为所有资源添加声明类的名称、包含模块的名称以及一系列其他有用的元信息标签。我们可以利用这些标签来选择特定的资源。例如,如果用户模块将用户资源分为管理员、开发人员、QA 等不同角色的类,我们可以通过基于类名标签的集合来选择特定角色的所有用户:
User<| tag == 'developers' |>
需要注意的是,标签实际上是一个数组, == 比较会在标签数组中查找指定元素是否存在。再看一个例子:
@user { 'felix':
ensure => present,
groups => [ 'power', 'sys' ],
}
User<| groups == 'sys' |>
这样就可以收集所有属于 sys 组的用户。
如果不喜欢比较隐晦的收集器语法,也可以结合 realize 函数一起使用,每个资源可以多次被实现,甚至可以同时通过两种方式实现。不过要注意,给定代理的清单只能实现该代理清单中声明的虚拟资源,虚拟资源不会泄露到
超级会员免费看
订阅专栏 解锁全文

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



