尝试运行 puppet 时出现“错误:找不到类”

尝试运行 puppet 时出现“错误:找不到类”

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

答案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'
  }
}

相关内容