DJY*_*Yod 5 installation configuration puppet
我编写了一个模块,它使用 puppet 在 /etc/rsyslog.d/60-custconfig.conf 中为 rsyslog 编写配置。
当我将模块添加到节点时,它可以工作,但是如果我删除注释或删除节点中的模块调用,是否应该删除文件?如果没有,有没有办法回滚配置或安装?
您不会通过删除资源来恢复 Puppet 执行的操作。通过从清单中删除资源,您只是告诉 Puppet 不要管理它(不再)。
此外,Puppet 根本不记得/不知道以前的状态,因此它无法恢复到那个状态。它只是尝试将系统更改为您在清单中定义的状态。
我在这里看到的一种方法是file
再次包含资源,但现在使用ensure => absent
:
file {
'/etc/rsyslog.d/60-custconfig.conf':
ensure => absent,
}
Run Code Online (Sandbox Code Playgroud)
您也可以通过这种方式更改 Puppet 模块的设计:
或者更简单的是使用puppetlabs-concat模块,在模块中定义 virtual concat::fragments 并将它们收集到 rsyslog 模块中以构建 '60-custconfig.conf' 配置文件。如果随后虚拟资源从其他模块中删除,则收集的片段将导致文件中的片段现在不受管理。实际上,这些将从文件中删除。