![尝试运行 puppet 时出现“错误:找不到类”](https://linux22.com/image/673416/%E5%B0%9D%E8%AF%95%E8%BF%90%E8%A1%8C%20puppet%20%E6%97%B6%E5%87%BA%E7%8E%B0%E2%80%9C%E9%94%99%E8%AF%AF%EF%BC%9A%E6%89%BE%E4%B8%8D%E5%88%B0%E7%B1%BB%E2%80%9D.png)
首先,说实话,我对 Puppet 世界还很陌生。我正在尝试为我的服务器构建一个 Puppet 脚本。
我的木偶结构是这样的
.
|-- environments
| `-- example_env
| |-- manifests
| |-- modules
| `-- README.environment
|-- manifests
| |-- node.pp
| `-- site.pp
|-- modules
| |-- nginx
| | `-- manifests
| | `-- nginx.pp
| |-- sudoers
| | |-- files
| | | `-- sudoers
| | `-- manifests
| | `-- sudoers.pp
| `-- users
| `-- manifests
| `-- users.pp
|-- puppet.conf
`-- templates
这是我的node.pp
和site.pp
看起来像这样。
# /etc/puppet/manifests/node.pp
node werain {
include sudoers
}
和
# etc/puppet/manifests/site.pp
import 'node.pp'
最后我的sudoers.pp
文件看起来像这样。
# /etc/puppet/modules/sudoers/manifests/sudoers.pp
class sudoers {
file { '/etc/sudoers':
mode: '0400',
source: 'puppet:///modules/sudoers/sudoers',
owner: 'root',
group: 'root'
}
}
知道我做错了什么吗?
我正在puppet
像这样运行命令。
puppet apply /etc/puppet/manifests/site.pp --modulepath=/etc/puppet/modules/
我的puppet
版本是 3.8.4
答案1
当您构建一个模块时,您需要init.pp
在清单目录中有一个文件。
重命名如下:
# /etc/puppet/modules/sudoers/manifests/init.pp
class sudoers {
file { '/etc/sudoers':
mode: '0400',
source: 'puppet:///modules/sudoers/sudoers',
owner: 'root',
group: 'root'
}
}