Что обозначает слово puppet

Что обозначает слово puppet

Что обозначает слово puppet. Смотреть фото Что обозначает слово puppet. Смотреть картинку Что обозначает слово puppet. Картинка про Что обозначает слово puppet. Фото Что обозначает слово puppet Что обозначает слово puppet. Смотреть фото Что обозначает слово puppet. Смотреть картинку Что обозначает слово puppet. Картинка про Что обозначает слово puppet. Фото Что обозначает слово puppet Что обозначает слово puppet. Смотреть фото Что обозначает слово puppet. Смотреть картинку Что обозначает слово puppet. Картинка про Что обозначает слово puppet. Фото Что обозначает слово puppet

Откройте возможности нейронного машинного перевода PROMT

PROMT.One (www.translate.ru) – бесплатный онлайн-переводчик на основе нейронных сетей (NMT) для азербайджанского, английского, арабского, греческого, иврита, испанского, итальянского, казахского, китайского, корейского, немецкого, португальского, русского, татарского, турецкого, туркменского, узбекского, украинского, финского, французского, эстонского и японского языков.

Изучайте времена и формы глаголов в английском, немецком, испанском, французском и русском языках в разделе Спряжение и склонение. Учите употребление слов и выражений в разных Контекстах. Мы собрали для вас миллионы примеров перевода на разные языки, которые помогут вам в изучении иностранных языков и подготовке домашних заданий.

Переводите в любом месте и в любое время с помощью мобильного переводчика PROMT.One для iOS и Android. Попробуйте голосовой и фотоперевод, скачайте языковые пакеты для офлайн-перевода.

Поделиться переводом

Но сейчас вы можете переводить только 999 символов за один раз.

Пожалуйста, войдите или зарегистрируйтесь, чтобы переводить до 5 000 символов единовременно. войти / зарегистрироваться

Что обозначает слово puppet. Смотреть фото Что обозначает слово puppet. Смотреть картинку Что обозначает слово puppet. Картинка про Что обозначает слово puppet. Фото Что обозначает слово puppet

Добавить в избранное

Для добавления в Избранное необходимо авторизоваться

Источник

puppet

Смотреть что такое «puppet» в других словарях:

Puppet — Тип Управление конфигурацией Разработчик Puppet Labs Написана на Ruby Операционная система кроссплатформенное программное обеспечение Последняя версия 3.0.0 (28 сентября 2012) Лицензия Apache … Википедия

Puppet Up! — – Uncensored is a live show produced by The Jim Henson Company combining puppetry and improvisational comedy. The show is advertised for adults only and as uncensored. However one rare and exclusive set of shows for children were held in… … Wikipedia

Puppet — Développeur Puppet Labs Dernière version 2.6 [+/−] … Wikipédia en Français

Puppet — Pup pet, n. [OE. popet, OF. poupette; akin to F. poup[ e]e a doll, probably from L. puppa, pupa, a girl, doll, puppet. Cf. , , , .] [Written also .] 1. A small image in the human form; a doll. [1913 Webster]… … The Collaborative International Dictionary of English

Puppet — bezeichnet: Puppet, englisch für Puppe Puppet (Software), ein Tool zum Konfigurationsmanagement von Servern mit Betriebssystemen wie Unix, Linux und FreeBSD. Diese Seite ist eine Begriffsklärung zur Unterscheidung me … Deutsch Wikipedia

puppet — [pup′ət] n. [ME popet < OFr poupette, dim. of * poupe < VL * puppa < L pupa, girl, doll: see PUPA] 1. Obs. a doll 2. a small, usually jointed figure, as of a human being, moved, usually in a puppet show on a small stage, by manipulating… … English World dictionary

puppet — (n.) 1520s (implied in puppetry), from O.Fr. poupette, dim. of poupée doll (13c.), from V.L. *puppa, from L. pupa girl, doll (see PUPIL (Cf. pupil) (1)). Metaphoric extension to person whose actions are manipulated by another first recorded 1540s … Etymology dictionary

puppet — [n] person or toy manipulated by another creature, doll, dupe*, figurehead, figurine, instrument, jerk*, manikin, marionette, moppet, mouthpiece*, patsy*, pawn, pushover, schlemiel*, servant, soft touch*, stooge*, tool*, victim; concepts 423,446 … New thesaurus

puppet — ► NOUN 1) a movable model of a person or animal, moved either by strings or by a hand inside it, used to entertain. 2) a person under the control of another. DERIVATIVES puppeteer noun puppetry noun. ORIGIN later form of POPPET(Cf. ↑poppet … English terms dictionary

Puppet — A puppet is a representational figure manipulated by a puppeteer. It is usually (but by no means always) a depiction of a human character, and is used in puppetry, a play or a presentation that is a very ancient form of theatre. The puppet… … Wikipedia

puppet — noun 1 model of a person/animal ADJECTIVE ▪ finger, glove (BrE), hand, shadow, sock ▪ wooden VERB + PUPPET ▪ … Collocations dictionary

Источник

puppet

1 puppet

glove puppet — кукла, надевающаяся на пальцы

2 puppet

3 puppet

The radical students say Seoul is a puppet of the Washington government. — Радикально настроенные студенты утверждают, что Сеул является марионеткой вашингтонского правительства.

4 puppet

5 puppet

6 puppet

7 puppet

8 puppet

attr. кукольный (о театре)

attr. марионеточный (о правительстве и т. п.)

9 puppet

10 puppet

11 puppet

12 puppet

13 puppet

14 puppet

15 puppet

16 puppet

17 puppet

18 puppet

19 puppet

20 puppet

См. также в других словарях:

Puppet — Тип Управление конфигурацией Разработчик Puppet Labs Написана на Ruby Операционная система кроссплатформенное программное обеспечение Последняя версия 3.0.0 (28 сентября 2012) Лицензия Apache … Википедия

Puppet Up! — – Uncensored is a live show produced by The Jim Henson Company combining puppetry and improvisational comedy. The show is advertised for adults only and as uncensored. However one rare and exclusive set of shows for children were held in… … Wikipedia

Puppet — Développeur Puppet Labs Dernière version 2.6 [+/−] … Wikipédia en Français

Puppet — Pup pet, n. [OE. popet, OF. poupette; akin to F. poup[ e]e a doll, probably from L. puppa, pupa, a girl, doll, puppet. Cf. , , , .] [Written also .] 1. A small image in the human form; a doll. [1913 Webster]… … The Collaborative International Dictionary of English

Puppet — bezeichnet: Puppet, englisch für Puppe Puppet (Software), ein Tool zum Konfigurationsmanagement von Servern mit Betriebssystemen wie Unix, Linux und FreeBSD. Diese Seite ist eine Begriffsklärung zur Unterscheidung me … Deutsch Wikipedia

puppet — [pup′ət] n. [ME popet < OFr poupette, dim. of * poupe < VL * puppa < L pupa, girl, doll: see PUPA] 1. Obs. a doll 2. a small, usually jointed figure, as of a human being, moved, usually in a puppet show on a small stage, by manipulating… … English World dictionary

puppet — (n.) 1520s (implied in puppetry), from O.Fr. poupette, dim. of poupée doll (13c.), from V.L. *puppa, from L. pupa girl, doll (see PUPIL (Cf. pupil) (1)). Metaphoric extension to person whose actions are manipulated by another first recorded 1540s … Etymology dictionary

puppet — [n] person or toy manipulated by another creature, doll, dupe*, figurehead, figurine, instrument, jerk*, manikin, marionette, moppet, mouthpiece*, patsy*, pawn, pushover, schlemiel*, servant, soft touch*, stooge*, tool*, victim; concepts 423,446 … New thesaurus

puppet — ► NOUN 1) a movable model of a person or animal, moved either by strings or by a hand inside it, used to entertain. 2) a person under the control of another. DERIVATIVES puppeteer noun puppetry noun. ORIGIN later form of POPPET(Cf. ↑poppet … English terms dictionary

Puppet — A puppet is a representational figure manipulated by a puppeteer. It is usually (but by no means always) a depiction of a human character, and is used in puppetry, a play or a presentation that is a very ancient form of theatre. The puppet… … Wikipedia

puppet — noun 1 model of a person/animal ADJECTIVE ▪ finger, glove (BrE), hand, shadow, sock ▪ wooden VERB + PUPPET ▪ … Collocations dictionary

Источник

puppet

1 puppet

glove puppet — кукла, надевающаяся на пальцы

2 puppet

3 puppet

The radical students say Seoul is a puppet of the Washington government. — Радикально настроенные студенты утверждают, что Сеул является марионеткой вашингтонского правительства.

4 puppet

5 puppet

6 puppet

7 puppet

8 puppet

attr. кукольный (о театре)

attr. марионеточный (о правительстве и т. п.)

9 puppet

10 puppet

11 puppet

12 puppet

13 puppet

14 puppet

15 puppet

16 puppet

17 puppet

18 puppet

19 puppet

20 puppet

См. также в других словарях:

Puppet — Тип Управление конфигурацией Разработчик Puppet Labs Написана на Ruby Операционная система кроссплатформенное программное обеспечение Последняя версия 3.0.0 (28 сентября 2012) Лицензия Apache … Википедия

Puppet Up! — – Uncensored is a live show produced by The Jim Henson Company combining puppetry and improvisational comedy. The show is advertised for adults only and as uncensored. However one rare and exclusive set of shows for children were held in… … Wikipedia

Puppet — Développeur Puppet Labs Dernière version 2.6 [+/−] … Wikipédia en Français

Puppet — Pup pet, n. [OE. popet, OF. poupette; akin to F. poup[ e]e a doll, probably from L. puppa, pupa, a girl, doll, puppet. Cf. , , , .] [Written also .] 1. A small image in the human form; a doll. [1913 Webster]… … The Collaborative International Dictionary of English

Puppet — bezeichnet: Puppet, englisch für Puppe Puppet (Software), ein Tool zum Konfigurationsmanagement von Servern mit Betriebssystemen wie Unix, Linux und FreeBSD. Diese Seite ist eine Begriffsklärung zur Unterscheidung me … Deutsch Wikipedia

puppet — [pup′ət] n. [ME popet < OFr poupette, dim. of * poupe < VL * puppa < L pupa, girl, doll: see PUPA] 1. Obs. a doll 2. a small, usually jointed figure, as of a human being, moved, usually in a puppet show on a small stage, by manipulating… … English World dictionary

puppet — (n.) 1520s (implied in puppetry), from O.Fr. poupette, dim. of poupée doll (13c.), from V.L. *puppa, from L. pupa girl, doll (see PUPIL (Cf. pupil) (1)). Metaphoric extension to person whose actions are manipulated by another first recorded 1540s … Etymology dictionary

puppet — [n] person or toy manipulated by another creature, doll, dupe*, figurehead, figurine, instrument, jerk*, manikin, marionette, moppet, mouthpiece*, patsy*, pawn, pushover, schlemiel*, servant, soft touch*, stooge*, tool*, victim; concepts 423,446 … New thesaurus

puppet — ► NOUN 1) a movable model of a person or animal, moved either by strings or by a hand inside it, used to entertain. 2) a person under the control of another. DERIVATIVES puppeteer noun puppetry noun. ORIGIN later form of POPPET(Cf. ↑poppet … English terms dictionary

Puppet — A puppet is a representational figure manipulated by a puppeteer. It is usually (but by no means always) a depiction of a human character, and is used in puppetry, a play or a presentation that is a very ancient form of theatre. The puppet… … Wikipedia

puppet — noun 1 model of a person/animal ADJECTIVE ▪ finger, glove (BrE), hand, shadow, sock ▪ wooden VERB + PUPPET ▪ … Collocations dictionary

Источник

Введение в Puppet

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

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

Что обозначает слово puppet. Смотреть фото Что обозначает слово puppet. Смотреть картинку Что обозначает слово puppet. Картинка про Что обозначает слово puppet. Фото Что обозначает слово puppet

Базовая информация

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

Используется pull-модель работы: по умолчанию раз в полчаса клиенты обращаются к серверу за конфигурацией и применяют её. Если вы работали с Ansible, то там используется другая, push-модель: администратор инициирует процесс применения конфигурации, сами по себе клиенты ничего применять не будут.

При сетевом взаимодействии используется двустороннее TLS-шифрование: у сервера и клиента есть свои закрытые ключи и соответствующие им сертификаты. Обычно сервер выпускает сертификаты для клиентов, но в принципе возможно использование и внешнего CA.

Знакомство с манифестами

В терминологии Puppet к паппет-серверу подключаются ноды (nodes). Конфигурация для нод пишется в манифестах на специальном языке программирования — Puppet DSL.

Puppet DSL — декларативный язык. На нём описывается желаемое состояние ноды в виде объявления отдельных ресурсов, например:

Ресурсы могут быть взаимосвязаны:

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

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

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

Синтаксис и кодстайл

Вот разделы официальной документации, которые помогут разобраться с синтаксисом, если приведённых примеров будет недостаточно:

Вот пример того, как выглядит манифест:

Отступы и переводы строк не являются обязательной частью манифеста, однако есть рекомендованный style guide. Краткое изложение:

Расположение файлов на паппетсервере

Для дальнейших объяснений я введу понятие «корневая директория». Корневая директория — это директория, в которой находится Puppet-конфигурация для конкретной ноды.

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

Пара боевых примеров

Описание ноды и ресурса на ней

Взаимосвязи ресурсов на ноде

На ноде server2.testdomain должен быть запущен nginx, работающий с подготовленной заранее конфигурацией.

Чтобы это работало, нужно примерно такое расположение файлов на паппет-сервере:

Типы ресурсов

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

Управляет файлами, директориями, симлинками, их содержимым, правами доступа.

package

Устанавливает и удаляет пакеты. Умеет обрабатывать уведомления — переустанавливает пакет, если задан параметр reinstall_on_refresh.

service

Управляет сервисами. Умеет обрабатывать уведомления — перезапускает сервис.

Запускает внешние команды. Если не указывать параметры creates, onlyif, unless или refreshonly, команда будет запускаться при каждом прогоне Паппета. Умеет обрабатывать уведомления — запускает команду.

В Puppet 6.0 cron как бы удалили из коробки в puppetserver, поэтому нет документации на общем сайте. Но он есть в коробке в puppet-agent, поэтому ставить его отдельно не надо. Документацию по нему можно посмотреть в документации к пятой версии Паппета, либо на Гитхабе.

Про ресурсы в общем

Требования к уникальности ресурсов

Самая частая ошибка, с которой мы встречаемся — Duplicate declaration. Эта ошибка возникает, когда в каталог попадают два и более ресурса одинакового типа с одинаковым названием.

Поэтому ещё раз напишу: в манифестах для одной ноды не должно быть ресурсов одинакового типа с одинаковым названием (title)!

В других типах ресурсов есть аналогичные параметры, помогающие избежать дубликации, — name у service, command у exec, и так далее.

Метапараметры

Некоторые специальные параметры есть у каждого типа ресурса, независимо от его сущности.

Полный список метапараметров в документации Puppet.

Все перечисленные метапараметры принимают либо одну ссылку на ресурс, либо массив ссылок в квадратных скобках.

Ссылки на ресурсы

Ссылка на ресурс — это просто упоминание ресурса. Используются они в основном для указания зависимостей. Ссылка на несуществующий ресурс вызовет ошибку компиляции.

Синтаксис у ссылки следующий: тип ресурса с большой буквы (если в названии типа содержатся двойные двоеточия, то с большой буквы пишется каждая часть названия между двоеточиями), дальше в квадратных скобках название ресурса (регистр названия не меняется!). Пробелов быть не должно, квадратные скобки пишутся сразу после названия типа.

Зависимости и уведомления

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

В отличие от зависимостей, уведомления не транзитивны. Для уведомлений действуют следующие правила:

Обработка неуказанных параметров

Знакомство с классами, переменными и дефайнами

Для решения такой проблемы есть такая конструкция, как класс.

Классы

Класс — это именованный блок паппет-кода. Классы нужны для переиспользования кода.

Сначала класс нужно описать. Само по себе описание не добавляет никуда никакие ресурсы. Класс описывается в манифестах:

После этого класс можно использовать:

Пример из предыдущей задачи — вынесем установку и настройку nginx в класс:

Переменные

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

Внимание: переменные в Puppet неизменяемые!

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

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

Примеры пространства имён:

Чтобы избежать неоднозначности при обращении к переменной, можно указывать пространство имён в имени переменной:

Однако приведённый пример плох тем, что есть некое «тайное знание» о том, что где-то внутри класса использует переменная с таким-то именем. Гораздо более правильно сделать это знание общим — у классов могут быть параметры.

Параметры класса — это переменные в пространстве имён класса, они задаются в заголовке класса и могут быть использованы как обычные переменные в теле класса. Значения параметров указывается при использовании класса в манифесте.

Параметру можно задать значение по умолчанию. Если у параметра нет значения по умолчанию и значение не задано при использовании, это вызовет ошибку компиляции.

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

Тип пишется непосредственно перед именем параметра:

Классы: include classname vs class

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

Если попробовать добавить класс на одну и ту же ноду два раза с помощью class < 'classname':>(без разницы, с разными или с одинаковыми параметрами), будет ошибка компиляции. Зато в случае использования класса в стиле ресурса можно тут же в манифесте явно задать все его параметры.

Дефайны

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

Например, для того, чтобы установить модуль PHP, мы в Авито делаем следующее:

Упрощённый пример с модулем для PHP:

В дефайне проще всего поймать ошибку Duplicate declaration. Это происходит, если в дефайне есть ресурс с константным именем, и на какой-то ноде два и более экземпляра этого дефайна.

Зависимости и уведомления для классов и дефайнов

Классы и дефайны добавляют следующие правила к обработке зависимостей и уведомлений:

Условные операторы и селекторы

unless

unless — это if наоборот: блок кода будет выполнен, если выражение ложно.

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

Селекторы

Модули

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

Кроме того, есть проблема переиспользования кода — когда весь код в одном манифесте, сложно этим кодом делиться с другими. Для решения этих двух проблем в Puppet есть такая сущность, как модули.

Модули — это наборы классов, дефайнов и прочих Puppet-сущностей, вынесенных в отдельную директорию. Иными словами, модуль — это независимый кусок Puppet-логики. Например, может быть модуль для работы с nginx, и в нём будет то и только то, что нужно для работы с nginx, а может быть модуль для работы с PHP, и так далее.

Модули версионируются, также поддерживаются зависимости модулей друг от друга. Есть открытый репозиторий модулей — Puppet Forge.

На паппет-сервере модули лежат в поддиректории modules корневой директории. Внутри каждого модуля стандартная схема директорий — manifests, files, templates, lib и так далее.

Структура файлов в модуле

В корне модуля могут быть следующие директории с говорящими названиями:

Это не полный список директорий и файлов, но для этой статьи пока достаточно.

Названия ресурсов и имена файлов в модуле

Ресурсы (классы, дефайны) в модуле нельзя называть как угодно. Кроме того, есть прямое соответствие между названием ресурса и именем файла, в котором Puppet будет искать описание этого ресурса. Если нарушать правила именования, то Puppet просто не найдёт описание ресурсов, и получится ошибка компиляции.

Шаблоны

Наверняка вы и сами знаете, что такое шаблоны, не буду расписывать здесь подробно. Но на всякий случай оставлю ссылку на Википедию.

Кроме того, есть функция inline_template — ей на вход передаётся текст шаблона, а не имя файла.

Внутри шаблонов можно использовать все переменные Puppet в текущей области видимости.

Puppet поддерживает шаблоны в формате ERB и EPP:

Вкратце про ERB

Выражения в ERB пишутся на Ruby (собственно, ERB — это Embedded Ruby).

Пример использования шаблона

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

А соответствующий ему шаблон zoo.cfg.erb — так:

Факты и встроенные переменные

Зачастую конкретная часть конфигурации зависит от того, что в данный момент происходит на ноде. Например, в зависимости от того, какой релиз Debian стоит, нужно установить ту или иную версию пакета. Можно следить за этим всем вручную, переписывая манифесты в случае изменения нод. Но это несерьёзный подход, автоматизация гораздо лучше.

Для получения информации о нодах в Puppet есть такой механизм, как факты. Факты — это информация о ноде, доступная в манифестах в виде обычных переменных в глобальном пространстве имён. Например, имя хоста, версия операционной системы, архитектура процессора, список пользователей, список сетевых интерфейсов и их адресов, и многое, многое другое. Факты доступны в манифестах и шаблонах как обычные переменные.

Пример работы с фактами:

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

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

Факты в виде исполняемых файлов

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

Факты на Ruby

Текстовые факты

Такие факты кладутся на ноды в директорию /etc/facter/facts.d в старом Паппете или /etc/puppetlabs/facts.d в новом Паппете.

Обращение к фактам

Обратиться к фактам можно двумя способами:

Встроенные переменные

Кроме фактов, есть ещё некоторые переменные, доступные в глобальном пространстве имён.

Дополнение 1: как это всё запускать и дебажить?

В статье было много примеров puppet-кода, но совсем не было рассказано, как же этот код запускать. Что ж, исправляюсь.

Для работы Puppet достаточно агента, но для большинства случаев нужен будет и сервер.

Агент

Как минимум с пятой версии пакеты puppet-agent из официального репозитория Puppetlabs содержат в себе все зависимости (ruby и соответствующие gem’ы), поэтому сложностей с установкой никаких нет (говорю про Debian-based дистрибутивы — RPM-based дистрибутивами мы не пользуемся).

В простейшем случае для применения puppet-конфигурации достаточно запустить агент в беcсерверном режиме: при условии, что puppet-код скопирован на ноду, запускаете puppet apply :

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

Сервер

Полноценную настройку паппетсервера и деплой на него кода в этой статье я не буду рассматривать, скажу лишь, что из коробки ставится вполне работоспособная версия сервера, не требующая дополнительной настройки для работы в условиях небольшого количества нод (скажем, до ста). Большее количество нод уже потребует тюнинга — по умолчанию puppetserver запускает не больше четырёх воркеров, для большей производительности нужно увеличить их число и не забыть увеличить лимиты памяти, иначе большую часть времени сервер будет garbage collect’ить.

Деплой кода — если нужно быстро и просто, то смотрите (на r10k)[https://github.com/puppetlabs/r10k], для небольших инсталляций его вполне должно хватить.

Дополнение 2: рекомендации по написанию кода

А почему я рекомендую так делать — объясню в следующей статье.

Заключение

На этом закончим со введением. В следующей статье расскажу про Hiera, ENC и PuppetDB.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *