我需要为同一主机编写多个 site.pp 文件。它给了我以下错误
Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Node 'default' is already defined at line 2; cannot redefine at line 2 on node node-002.example.com
例如 :
我的第一次site.pp
vi hosts-site.pp
default{
}
node "node-002.example.com" {
## Rules here to update /etc/hosts
}
NextSite.pp
具有相同的节点但不同的操作。
vi fstab-site.pp
default{
}
node "node-002.example.com" {
## Rules here to update /etc/fstab
}
如何达到同样的效果。我们需要为需要维护不同 site.pp 的相同节点编写多个操作
Puppet 不应该有多个 site.pp
如果您的目标是手动应用您的配置之一,您可以使用 --tags 选项。顺便说一句,您应该将您的代理配置为noop,这样当您不需要它时,它就不会应用您的更改。
所以你可以有一个像这样的 site.pp :
Where
hosts_configuration
和fstab_configuration
are 配置你想要的模块。然后,当您想应用主机配置时,您可以在 node-002 上使用
它将为主机应用所需的配置。
如果你真的想拥有多个 site.pp,你可以使用环境来做到这一点:
https://docs.puppet.com/puppet/4.10/environments.html#about-environments