Учебники

Кукольный — Манифест

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

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

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

Рабочий процесс файла манифеста

Кукольный манифест состоит из следующих компонентов —

  • Файлы (это обычные файлы, в которых Puppet не имеет ничего общего с ними, просто чтобы взять их и поместить в нужное место)

  • Ресурсы

  • Шаблоны (их можно использовать для создания файлов конфигурации на узле).

  • Узлы (все определения, относящиеся к клиентскому узлу, определены здесь)

  • Классы

Файлы (это обычные файлы, в которых Puppet не имеет ничего общего с ними, просто чтобы взять их и поместить в нужное место)

Ресурсы

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

Узлы (все определения, относящиеся к клиентскому узлу, определены здесь)

Классы

Указывает на заметку

  • В Puppet все файлы манифеста используют Ruby в качестве языка кодирования и сохраняются с расширением .pp .

  • Оператор «import» во многих манифестах используется для загрузки файлов при запуске Puppet.

  • Для того чтобы импортировать все файлы, содержащиеся в каталоге, вы можете использовать оператор импорта другим способом, например, import «clients / *». Это позволит импортировать все файлы .pp внутри этого каталога.

В Puppet все файлы манифеста используют Ruby в качестве языка кодирования и сохраняются с расширением .pp .

Оператор «import» во многих манифестах используется для загрузки файлов при запуске Puppet.

Для того чтобы импортировать все файлы, содержащиеся в каталоге, вы можете использовать оператор импорта другим способом, например, import «clients / *». Это позволит импортировать все файлы .pp внутри этого каталога.

манифест

Письменные манифесты

Работа с переменными

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

Пример строковой переменной

$package = "vim"  

package {  $package: 
   ensure => "installed" 
}

Использование циклов

Циклы используются, когда нужно пройти несколько итераций на одном и том же наборе кода, пока не будет выполнено определенное условие. Они также используются для выполнения повторяющихся задач с различным набором значений. Создание 10 заданий для 10 разных вещей. Можно создать одну задачу и использовать цикл для повторения задачи с разными пакетами, которые нужно установить.

Чаще всего массив используется для повторения теста с разными значениями.

$packages = ['vim', 'git', 'curl']  

package { $packages: 
   ensure => "installed" 
}

Использование условных выражений

Puppet поддерживает большую часть условной структуры, которую можно найти в традиционных языках программирования. Условие может использоваться для динамического определения, выполнять ли конкретную задачу или набор кода должен выполняться. Например if / else и case. Кроме того, такие условия, как execute, также поддерживают атрибуты, которые работают как условие, но принимают только вывод команды в качестве условия.