2013-09-24 4 views
0

Я довольно новичок в Puppet, и до сих пор я работал через чиновника tutorial, по крайней мере, введение и часть 1. Поэтому я предполагаю, что я должен иметь базовое представление о том, как работает Puppet и его терминология.Почему классы Puppet называются классами?

В любом случае, есть одна вещь, которую я не получаю: в Puppet у вас есть классы, которые в основном представляют собой ничего, кроме аутсорсинга. Все идет нормально.

Но почему они называются class?

У меня есть фон ООП и CSS, и я также могу представить себе общее понятие класса как контейнер для объектов, которые имеют что-то общее. Но ни одно из этих определений не соответствует концепции class в Puppet. По крайней мере, я не получаю аналогию.

Может ли кто-нибудь принести в это свет?

PS: Я знаю, что нет объективного ответа на этот вопрос, но, прежде всего, на основе мнений, но я не знаю, где спросить в другом месте, так что я надеюсь, что некоторые советы :-)

ответ

1

Я считаю, что это рекомендовано Puppet, и я уверен, что это говорит в документах где-то, что вы делаете классы для каждой из ролей вашего узла, каждая из которых содержит require s для всех других классов, необходимых этой роли, с тем же требованием в нескольких классах ролей, если (это допустимо, если вы используете команду require, а не include). Таким образом, вы можете иметь самостоятельные классы, такие как «файловый сервер» или «веб-сервер», которые просто должны быть включены в ресурсы node.

Подробнее о перекрывающихся классах роли:

http://docs.puppetlabs.com/puppet/2.7/reference/lang_classes.html#aside-history-the-future-and-best-practices

+0

Примечание: вам просто нужно 50 репутации, чтобы прокомментировать другие ответы (http://stackoverflow.com/help/privileges/comment). Попытайтесь, чтобы мы могли комментировать мой ответ, а не делать это с помощью таких предложений, как http://stackoverflow.com/review/spected-edits/3279277 – fedorqui

1

Вы можете связать классы в марионетке с разделением или выделениями явных оснований на его роли.

Классы называются блоками кукольного кода, которые не применяются, если они не вызываются по имени.

Для модульности и понимания манифеста рекомендуется различать роль кода манифеста в другом файле, который называется классами.

И имя класса должно обозначать его роль. Например, пользователь (для создания пользователя), params (для передачи параметров).

Смежные вопросы