Маріонетка - це чудовисько, яке дозволяє вам голову, тож вчитися на прикладі - це не погано. Нижче я припускаю, що ви використовуєте модулі - будь ласка, скажіть у коментарі, якщо ви цього не робите або якщо вам потрібні додаткові відомості про те, як скласти модуль.
Скажімо, ви починаєте новий модуль під назвою mymodule. У домашньому каталозі маріонеток (зазвичай /etc/puppet) майстра ляльок ви повинні створити модуль маніфестів та файлів:
mkdir -p modules/mymodule/manifests
mkdir -p modules/mymodule/files
Потім створіть файл у вказаній директорії init.ppта введіть:
class myfile {
file { '/home/operator1/Desktop/Backup':
ensure => directory,
mode => '0755',
owner => 'operator1',
group => 'operator1',
}
file { "/home/operator1/Desktop/Backup/datas.xls":
mode => "0644",
owner => 'operator1',
group => 'operator1',
source => 'puppet:///modules/module_name/datas.xls',
}
}
Потім помістіть datas.xlsфайл у filesкаталог модуля - у цьому прикладі в modules/mymodule/files/. (Зверніть увагу, там також може бути templatesкаталог шаблонів ).
У manifests/site.ppфайл вам потрібно імпортувати модуль і включити клас, виконавши щось на зразок:
import 'mymodule'
node base {
include myfile
}
node server1 inherits base {}
node server2 inherits base {
# extra config here
}
Переконайтеся, що всі ваші вузли успадковуються від бази та це має бути все, що вам потрібно зробити. Починаючи з лялькових 0,25, ви можете використовувати регулярні вирази у назві вузла, наприклад:
node server[0-9] inherits base {}
Повідомте мене в коментарях, якщо вам потрібні додаткові роз'яснення.
Налаштування клієнта для розмови з ляльковим майстром
Для клієнта вам потрібно зробити:
sudo apt-get install puppet
Потім відредагуйте /etc/default/puppetта змініть START=noна START=yes.
Також відредагуйте /etc/puppet/puppet.confта додайте рядок до [main]розділу, щоб сказати, де знайти майстра ляльок:
server=puppet.mydomain.com
Тоді ми можемо зробити тестовий пробіг із sudo puppetd --test. Якщо у вас з’являються ключові помилки, можливо, вам доведеться перейти на сервер майстра ляльок і підписати клієнтський ключ. Щоб перевірити точне ім’я, ви можете зробити це, sudo puppetca --listа потім sudo puppetca --sign server1.mydomain.com(або те, що було ім'ям сервера з команди списку).
Тепер починайте лялькову службу, sudo service puppet startі ви повинні бути подалі. Служба ляльок працюватиме щогодини, тому якщо ви оновлюєте рецепти ляльок, то всі ваші клієнти також будуть оновлені.
Видалення файлів
Зауважую, що в оригінальному запитанні ви хотіли знати, як видалити файли. Ви б відредагували, manifests/init.ppщоб бути
file { "/home/operator1/Desktop/Backup/datas.xls":
ensure => absent,
}
Інші корисні поради
Якщо у вас виникають проблеми, ви можете зробити кілька речей. На будь-якій машині зі встановленою лялькою ви можете перевірити свій синтаксис, запустивши
puppet --parseonly --ignoreimport myfile.pp
або перевірити всю партію, знявши --ignoreimportпрапор, хоча це може призвести до деяких смішних повідомлень про помилки, які насправді не виявили помилок. Ви також можете запускати лялечку в прямому ефірі на машині лялькового клієнта, виконуючи:
sudo puppetd --test
який показує різні корисні результати, з помилками та попередженнями, виділеними різними кольорами. Якщо ви хочете ще детальніше, можете запустити:
sudo puppetd --test --debug
але це, як правило, генерує стільки результатів, що важко проникнути, тому зробіть це лише якщо ви вже спробували попередні кроки і застрягли, і вам потрібно побачити, що все робиться.
Зауважте, що це засновано на лялькових 0.25.x, якими я зараз користуюся на роботі, а також є версією Ubuntu 10.04. Код ляльок в головному розділі, безумовно, все ще буде працювати, але пізніші версії ляльок мають нові прапори, які допоможуть налагодити вихід.