我可以写
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”应用于节点,并且班级是声明类,这个类的行为(如确保文件,包,用户等...)