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

Затем каждый агент связывается с сервером для обновления его конфигурации. Как выбираются сценарии для запуска на сервере?

1 ответ1

1

Кукольные манифесты (обычный термин, а не сценарии) обычно организованы в модуль для компонента или службы ОС (например, apache , ntp , postgresql) с одним или несколькими классами, которые содержат все необходимое для его настройки.

Класс Puppet содержит все определения файлов, пакетов и ресурсов службы для компонента ОС. На самом простом это что-то вроде:

class apache {
  package { "httpd":
    ensure => installed,
  } ->
  service { "httpd":
    ensure => running,
  }
}

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

В простейшем случае вы можете иметь основной манифест (doc), содержащий списки узлов с их именами хостов и включающие в себя классы, которые вы хотите использовать на них:

node foo.example.com {
  include apache
}

Основной манифест компилируется автоматически, когда агент запрашивает свой каталог, и если определение узла соответствует имени агента, его содержимое также оценивается на предмет включения этих классов. Ведение большого количества определений узлов в коде не очень эффективно.

Вы также можете использовать Hiera и hiera_include для хранения списка классов во внешних файлах данных Hiera, тогда основной манифест содержит hiera_include('classes') . Это ищет ценность classes от Hiera и затем включает все те классы.

Наконец, мастер может быть настроен с помощью внешнего классификатора узла (ENC), который обычно представляет собой сценарий, который вызывается при регистрации агента. Ему дается имя агента, и он должен вывести список классов (и, необязательно, параметров и среды). Он может использовать базу данных или любую другую информацию, имеющуюся в вашей организации.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .