Trying to run puppet yield "Error: Could not find class"

Trying to run puppet yield "Error: Could not find class"

首先,老实说,我对 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.ppsite.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

您有一个名为 sudoers 的模块,其中有一个同名的 class。 Puppet 将在 modules/sudoers/manifests/init.pp 中查找 class 的定义,但您已将其放入 modules/sudoers/manifests/sudoers.pp 中。后者是 Puppet 寻找名为 sudoers::sudoers.

的 class 的地方