在 Puppet 中,“include”和“class”有什么区别?

在 Puppet 中,“include”和“class”有什么区别?

我可以写

include '::ntp'

或者我可以写

class { '::ntp':}

它们之间有什么区别?或者我是否都需要它们?

答案1

存在差异,其中最大的两个是:

使用include允许多次声明一个类。该class声明只能使用一次,否则您将看到重复资源声明错误。

include将使用外部数据(例如 hiera)作为参数。声明class允许您指定参数。

https://puppet.com/docs/puppet/latest/lang_classes.html#the-include-function

答案2

包括是告诉 puppet 将类“ntp”应用于节点,并且班级是声明类,这个类的行为(如确保文件,包,用户等...)

相关内容