С марионеткой Вы можете сделать, чтобы клиент попросил быть определенным набором ролей?

Вы выполняете свой FTP-сервер на XP? Если так, можно хотеть рассмотреть следующее:

http://www.pcreview.co.uk/forums/thread-3690895.php

Это определяет часть XP "функции", которые делают это нежелательным для использования в любых высоких ролях/приложениях сервера использования.

2
задан 30 October 2012 в 17:17
2 ответа

Возвращение с решением для будущих гуглеров. Спасибо другим за вклад.

Здесь было обсуждение , которое привело к набору файлов, намекающих на решение .

Однако мой ограниченный опыт подсказывает, что это немного устарело с точки зрения расположения файлов. На клиенте вам нужен такой файл:

root@vbox1-test:/etc/puppet# cat custom_facts.yml 
servertype: webserver-type1

На сервере (puppetmaster), если вы перейдете по файлам во второй предоставленной ссылке, тогда .rb работает нормально, но местоположение неверно (я использую v3.x ). Попробуйте переместить его в:

ubuntu@puppetmaster:/etc/puppet/modules/custom/lib/facter$ ls custom_facts.rb
custom_facts.rb

Внутри любого из ваших файлов .pp модуля и т. Д. просто добавьте что-то вроде

...
notify { "My servertype is: ${servertype}" : }
...

. И снова вторая ссылка намекает на тот факт, что вы можете сделать своего рода оператор case, чтобы затем выбрать, какие модули / манифесты используются. Таким образом, я могу применить базовый набор правил к большинству машин, а затем некоторые пользовательские правила для определенных типов, не касаясь манифестов сервера.

Эффект, который вы получите на клиенте, будет примерно таким:

root@vbox1-test:/etc/puppet# puppet agent --test
Info: Retrieving plugin
/File[/var/lib/puppet/lib/facter]/ensure: created
/File[/var/lib/puppet/lib/facter/custom_facts.rb]/ensure: defined content as '{md5}xxxxxxxxxxxxxxxxxxxxxxx'
Info: Loading facts in /var/lib/puppet/lib/facter/custom_facts.rb
Info: Caching catalog for vbox1-test
Info: Applying configuration version '1351762428'
My servertype is: webserver-type1
/Stage[main]//Node[default]/Notify[My servertype is: webserver-type1]/message: defined 'message' as 'My servertype is: webserver-type1'
Finished catalog run in 0.05 seconds

Я довольно оптимистичен это дает мне то, что я хочу, и я могу не содержать в манифестах имен серверов, которые являются устаревшими и постоянно растут.

0
ответ дан 3 December 2019 в 11:51

Узлы всегда определяются централизованно, либо в ваших манифестах, либо во внешнем классификаторе узлов (или в обоих).

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

Похоже, вам просто может потребоваться лучшая организация манифестов вашего узла. Может быть, какое-то наследование узлов для ваших системных «ролей», чтобы уменьшить дублирование каждый раз, когда вы создаете новый узел, а также несколько хороших имен узлов регулярных выражений, которые покрывают наборы системных имен (например, вы не сможете охватить каждый webserver_type2 одним regex, но добавьте такое, которое охватывает соглашение об именах, которое вы используете для новых узлов).

2
ответ дан 3 December 2019 в 11:51

Теги

Похожие вопросы