Я установил puppetmaster в Ubuntu 11.04 и установил puppet во всех моих клиентах. Я присоединился ко всем своим кукольным клиентам с мастером кукол. Можно ли скопировать файл для всех этих клиентов кукол из мастера кукол?
Например:
У меня есть файл с именем datas.xls на моем рабочем столе (Puppet Master). Как мне скопировать эти файлы на все мои кукольные клиенты в следующем месте (/ home / operator1 / Desktop / Backup /)?
Обновить:
- Привет еще файл не распространяется.
- Как изменить эту строку,
puppet:///modules/module_name/datas.xls
файл для копирования находится в этом месте/etc/puppet/modules/mymodule/manifests/datas.xls
?
Ошибка на клиенте: (решено)
root@testing:~# puppetd --test
err: Could not retrieve catalog from remote server: Error 400 on SERVER: Could not find class sudo at /etc/puppet/manifests/site.pp:2 on node testing.chn.jd.com
warning: Not using cache on failed catalog
err: Could not retrieve catalog; skipping run
Ошибка 2 на клиенте:
root@tme13:~# puppetd --test
err: Could not run Puppet configuration client: Could not retrieve local facts: bad URI(is not URI?): http://169.254.169.254/2008-02-01/meta-data/<HTML><HEAD><TITLE>HTTP access denied</TITLE></HEAD><BODY><img src/
Новое обновление:
Как применить этот модуль ко всем узлам? Такой, что файл будет скопирован на все узлы.
Ответы:
Puppet - это немного чудовище, чтобы научиться думать, поэтому учиться на примерах не так уж и плохо. В приведенном ниже я предполагаю, что вы используете модули - пожалуйста, скажите в комментарии, если вы не или если вам нужно больше деталей о том, как собрать модуль вместе.
Допустим, вы запускаете новый модуль с именем
mymodule
. В домашнем каталоге puppet (обычно/etc/puppet
) на puppet master вы должны создать каталог манифестов и файлов модуля:Затем создайте файл в этом каталоге с именем
init.pp
и введите:Затем поместите
datas.xls
файл вfiles
каталог модуля - в этом примере вmodules/mymodule/files/
. (Обратите внимание, что также может бытьtemplates
каталог для шаблонов ).В этом
manifests/site.pp
файле вам нужно импортировать модуль и включить класс, выполнив что-то вроде:Убедитесь, что все ваши узлы наследуются от базы, и это должно быть все, что вам нужно сделать. Начиная с версии 0.25 вы можете использовать регулярные выражения в имени узла, например:
Дайте мне знать в комментариях, если вам нужны дополнительные разъяснения.
Настройка клиента для общения с мастером кукол
На клиенте нужно сделать:
Затем отредактируйте
/etc/default/puppet
и изменитеSTART=no
наSTART=yes
.Также отредактируйте
/etc/puppet/puppet.conf
и добавьте строку в[main]
раздел, чтобы указать, где найти мастера кукол:Тогда мы можем сделать тестовый прогон с
sudo puppetd --test
. Если вы получили ошибки в ключах, вам может потребоваться перейти на главный сервер puppet и подписать ключ клиента. Чтобы проверить точное имя, которое вы можете сделать,sudo puppetca --list
а затемsudo puppetca --sign server1.mydomain.com
(или любое другое имя сервера было из команды list).Теперь начните службу кукол с,
sudo service puppet start
и вы должны быть вдали. Служба кукол запускается каждый час, поэтому, если вы обновите свои рецепты кукол, все ваши клиенты также будут обновлены.Удаление файлов
В исходном вопросе отмечу, что вы хотели знать, как удалять файлы. Вы бы отредактировали,
manifests/init.pp
чтобы бытьДругие полезные советы
Если у вас возникли проблемы, есть несколько вещей, которые вы можете сделать. На любой машине с установленным Puppet вы можете проверить свой синтаксис, запустив
или проверить всю партию, сняв
--ignoreimport
флаг, хотя это может привести к некоторым забавным сообщениям об ошибках, которые на самом деле не являются ошибками, которые я обнаружил. Вы также можете запустить Puppet Live на компьютере клиента Puppet, выполнив:который показывает различный полезный вывод, с ошибками и предупреждениями, выделенными разными цветами. Если вы хотите еще больше деталей, вы можете запустить:
но это, как правило, генерирует так много выходных данных, что трудно пройти через них, так что делайте это только в том случае, если вы уже пробовали предыдущие шаги и застряли, и вам нужно увидеть, что все делается.
Обратите внимание, что это основано на Puppet 0.25.x, который я сейчас использую на работе, а также версия в Ubuntu 10.04. Код puppet в главном разделе определенно будет работать, но в более поздних версиях puppet появились новые флаги, которые могут помочь с отладкой вывода.
источник
puppet:///modules/module_name/datas.xls
файл для копирования находится в этом месте/etc/puppet/modules/mymodule/manifests/datas.xls
/etc/puppet/modules/mymodule/files/datas.xls
- я уточню ответ, чтобы прояснить ситуацию.puppet agent --test