Назад | Перейти на главную страницу

Попытка запустить выход марионетки «Ошибка: не удалось найти класс»

Во-первых, честно говоря, я новичок в мире кукол. Я пытаюсь создать марионеточный сценарий для своего сервера.

вот как выглядит моя марионеточная структура

.
|-- 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

когда вы создаете модуль, вам необходимо иметь 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'
  }
}