Hiera 和 类 之间的依赖关系
Hiera and dependencies between classes
是否可以在 Hiera 中定义两个 class 之间的依赖关系?假设您有一个安装服务的 class A 和将配置此服务的 class B。在此示例中,您如何在这些 class 之间创建依赖关系?这样的东西行得通吗?
---
classes:
- 'B':
require: Class[A]
您可以在 Puppet DSL 中执行此操作。最简单的方法是制作一个包装其他模块的模块,然后将其包含在 Hiera 中。
然后包装器模块可以使用 Puppet 排序工具,例如 require
,其中:
The require function declares a class and causes it to become a dependency of the surrounding container.
Puppet 文档中有这方面的一些示例 Relationships and Ordering。
以下是该文档页面上使用的此包装器模块的两个示例:
使用要求:
class wordpress {
require apache
require mysql
...
}
使用箭头链接:
class apache::ssl {
include site::certificates
# Restart every service in this class if any of our SSL certificates change on disk:
Class['site::certificates'] ~> Class['apache::ssl']
}
是否可以在 Hiera 中定义两个 class 之间的依赖关系?假设您有一个安装服务的 class A 和将配置此服务的 class B。在此示例中,您如何在这些 class 之间创建依赖关系?这样的东西行得通吗?
---
classes:
- 'B':
require: Class[A]
您可以在 Puppet DSL 中执行此操作。最简单的方法是制作一个包装其他模块的模块,然后将其包含在 Hiera 中。
然后包装器模块可以使用 Puppet 排序工具,例如 require
,其中:
The require function declares a class and causes it to become a dependency of the surrounding container.
Puppet 文档中有这方面的一些示例 Relationships and Ordering。
以下是该文档页面上使用的此包装器模块的两个示例:
使用要求:
class wordpress {
require apache
require mysql
...
}
使用箭头链接:
class apache::ssl {
include site::certificates
# Restart every service in this class if any of our SSL certificates change on disk:
Class['site::certificates'] ~> Class['apache::ssl']
}