Учебники

Кукольный — Окружающая среда

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

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

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

Цель окружающей среды

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

Использование среды на Puppet Master

Задача среды — проверить, какой манифест, модуль, шаблон файла необходимо отправить клиенту. Таким образом, Puppet должен быть сконфигурирован для предоставления источника информации для конкретной среды.

Среды Puppet реализуются простым добавлением разделов предварительной среды в серверный puppet.conf и выбором различных источников конфигурации для каждой среды. Эти разделы перед окружением затем используются вместо основного раздела.

[main] 
manifest = /usr/testing/puppet/site.pp 
modulepath = /usr/testing/puppet/modules 
[development] 
manifest = /usr/testing/puppet/development/site.pp 
modulepath = /usr/testing/puppet/development/modules

В приведенном выше коде любой клиент в среде разработки будет использовать файл манифеста site.pp, расположенный в каталоге / usr / share / puppet / development, и Puppet будет искать любой модуль в каталоге / usr / share / puppet / development / modules ,

При запуске Puppet с или без какой-либо среды по умолчанию используется файл site.pp и каталог, указанный в значениях manifest и modulepath в главном разделе конфигурации.

Существует всего несколько конфигураций, которые на самом деле имеет смысл настраивать в предварительном окружении, и все эти параметры вращаются вокруг указания, какие файлы использовать для компиляции конфигурации клиента.

Ниже приведены параметры.

  • Modulepath — в Puppet в качестве основного стандартного режима лучше всего иметь стандартный каталог модулей, который совместно используется всей средой, а затем каталог предварительной среды, в котором можно хранить пользовательский модуль. Путь к модулю — это место, где Puppet ищет все файлы конфигурации, относящиеся к среде.

  • Templatedir — Каталог шаблонов — это место, где сохраняются все версии связанных шаблонов. Модуль должен быть предпочтительнее этих настроек, однако он позволяет иметь разные версии данного шаблона в каждой среде.

  • Manifest — определяет, какую конфигурацию использовать в качестве сценария точки входа.

Modulepath — в Puppet в качестве основного стандартного режима лучше всего иметь стандартный каталог модулей, который совместно используется всей средой, а затем каталог предварительной среды, в котором можно хранить пользовательский модуль. Путь к модулю — это место, где Puppet ищет все файлы конфигурации, относящиеся к среде.

Templatedir — Каталог шаблонов — это место, где сохраняются все версии связанных шаблонов. Модуль должен быть предпочтительнее этих настроек, однако он позволяет иметь разные версии данного шаблона в каждой среде.

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

С несколькими модулями Puppets помогают получить модульность для конфигураций. В Puppet можно использовать несколько сред, которые работают намного лучше, если в основном полагаться на модули. Легче переносить изменения в среды, инкапсулируя изменения в модуле. Файловый сервер использует специфический для среды путь к модулю; если вы выполняете обслуживание файлов из модулей, а не из отдельных подключенных каталогов, эта среда сможет получать файлы, относящиеся к среде, и, наконец, текущая среда также будет доступна в переменной $ environment в файле манифеста.

Настройка клиентской среды

Все настройки, связанные с настройкой среды, выполняются в файле puppet.conf. Чтобы указать, какую среду должен использовать клиент Puppet, можно указать значение переменной конфигурации среды в файле puppet.conf клиента.

[puppetd] 
environment = Testing 

Приведенное выше определение в файле конфигурации определяет, какую среду файл конфигурации в нашем случае он тестирует.

Можно также указать это в командной строке, используя —

#puppetd -–environment = testing

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

Путь поиска кукол

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