Маріонетка - це чудовисько, яке дозволяє вам голову, тож вчитися на прикладі - це не погано. Нижче я припускаю, що ви використовуєте модулі - будь ласка, скажіть у коментарі, якщо ви цього не робите або якщо вам потрібні додаткові відомості про те, як скласти модуль.
Скажімо, ви починаєте новий модуль під назвою 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. Код ляльок в головному розділі, безумовно, все ще буде працювати, але пізніші версії ляльок мають нові прапори, які допоможуть налагодити вихід.