Pull to refresh

Comments 15

Спасибо за перевод. Сам пользуюсь фореманом и git на всю /etc/puppet и с разделением окружений на продакшен и девелопмент становится сложнее следить за хозяйством. эта статья заставила взглянуть на этот процесс с правильной стороны. буду менять структуру. Спасибо.
Раньше тоже использовал Foreman. Но пользовался исключительно просмотром отчетов о запусках агентов.
В итоге, когда решал, что поставить остановился на puppetexplorer.
я его использую гораздо шире:
— 2 окружения (прод, дев)
— различные параметры в зависимости от различных признаков (домен, имя хоста, группа)
— отчёты, само собой

В принципе почти устраивает, единственно — хочется редактировать манифесты из него же (из форемана), но я как то искал — не нашёл такой возможности.
Ну и + я ещё хочу начать использовать его возможности по управлению гипервизорами для автоматического поднятия виртуалок, но пока модуль под xenserver только пилится и я его ещё не пробовал.
А вы не настраивали никакой веб-сервер (типа Nginx) перед puppet'ом? Коллеги говорят, что при большом числе управляемых серверов начинаются тормоза, если перед сервером приложений puppet'а нет балансировщика и отдатчика статики.
Примечание от переводчика: документация Puppet Labs рекомендует устанавливать puppetmaster-passenger.

Собственно puppetmaster-passenger сразу же настраивает Puppet за апачем — тут можно почитать подробнее. У себя сделал именно так — хотя хостов и не очень много.
Большом — это каком?
У нас на, примерно, 300 клиентских серверах тормозов не замечено.
Правда, мы готовим puppet подругому: каждый хост имеет локальную копию всех манифестов, стянутую с мастера.
При параллельной массовой синхронизации ничего не тормозит.
Удивлен был, что в рунете о нем как-то не особо в курсе. Собственно, это была одна из причин, по которым решил перевести статью.
Для тех кто будет следовать инструкции:
необходимо указать более новую версию puppetdb
mod 'puppetlabs/puppetdb', '3.0.1'

И для версий puppet начиная с 3.6 конфиг будет иметь вид:
[main]
  environment   = production
  confdir       = /etc/puppet
  logdir        = /var/log/puppet
  vardir        = /var/lib/puppet
  ssldir        = $vardir/ssl
  rundir        = /var/run/puppet
  factpath      = $vardir/lib/facter
  pluginsync    = true

[agent]
  environment   = production
  report        = true
  show_diff     = true

[master]
  environment   = production
  environmentpath = $confdir/environments

  # Passenger
  ssl_client_header        = SSL_CLIENT_S_DN
  ssl_client_verify_header = SSL_CLIENT_VERIFY
Если я верно понял, то их нельзя сравнивать, т.к. это инструменты разного уровня. r10k — версионирование, деплой модулей и сред. The Foreman — система уже для полного контроля машины — от поднятия и накатки оси на голое железо (с помощью управления разными прокси) и сопровождение поднятого сервера до завершения эксплуатации.
На сайте форемана написано — Foreman is a complete lifecycle management tool for physical and virtual servers.
на гите r10k — Puppet environment and module deployment

Так что это, по идее взаимодополняющие системы.
Автор статьи же указал, что вместо форемана используется puppetexplorer.

UPD: r10k — мечта моего коллеги-программиста — деплоить параметры и модули паппета так же как он деплоит свои проекты (php) ))
Если получили ошибку installing r10k: requires Ruby version >= 1.9.3. а вы думаю ее получите если у вас Debian GNU/Linux 6.0.10 (squeeze)
то решение об установке и смене релиза Ruby вот тут
RLY?

HowTo: Find Out My Linux Distribution Name and Version

палитесь
Да, совет не актуален, обновился до Debian GNU/Linux 7.8 (wheezy), идет все по инструкции.
Полезный совет: попробуйте следующую команду, чтобы увидеть всю информацию о вашем хосте, которую хранит puppetdb в отформатированном json:
puppet node find $(hostname -f) | python -mjson.tool

Я пользуюсь утилитой jq
Пример:
puppet node find $(hostname -f) | jq .
Sign up to leave a comment.

Articles