Учебник по Puppet - универсальное решение для управления конфигурацией



Puppet Tutorial - это второй блог из серии блогов Puppet. В нем рассказывается об архитектуре Puppet, компонентах и ​​примере развертывания mysql и php с помощью Puppet.

Кукольный Учебник

Puppet Tutorial - это второй блог из серии блогов Puppet. Надеюсь, вы читали мой предыдущий блог на тему « Что такое марионетка », Который объясняет управление конфигурациями и почему это важно с помощью сценариев использования.

факториал с использованием рекурсии в c

В этом руководстве по Puppet будут рассмотрены следующие темы:





Что такое управление конфигурацией?

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



Управление конфигурацией состоит из следующих элементов:

  • Идентификация конфигурации
  • Управление изменениями
  • Учет состояния конфигурации
  • Аудит конфигурации

На схеме ниже поясняются эти компоненты:

Компоненты управления конфигурацией - Учебное пособие по Puppet - Edureka



Идентификация конфигурации: Это процесс:

  • Маркировка элементов конфигурации программного и аппаратного обеспечения с помощью уникальных идентификаторов
  • Идентификация документации, описывающей элемент конфигурации
  • Группирование связанных элементов конфигурации в базовые показатели
  • Маркировка изменений элементов конфигурации и базовых показателей.

Управление изменениями: Это систематический подход к работе с изменениями как с точки зрения организации, так и с точки зрения отдельного человека.

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

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

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

Сейчас подходящее время, чтобы понять архитектуру кукол.

Учебник по куклам - Архитектура Кукольный

Puppet использует архитектуру Master-Slave. На схеме ниже показано то же самое:

На изображении выше выполняются следующие функции:

  • Агент Марионеток отправляет Факты Хозяину Марионеток. Факты в основномпара данных ключ / значение, которая представляет некоторые аспекты состояния ведомого устройства, например его IP-адрес, время безотказной работы, операционную систему или виртуальную машину. Я объясню факты подробно позже в блоге.
  • Puppet Master использует факты для составления Каталога, который определяет, как должно быть настроено Slave. Каталог- это документ, описывающий желаемое состояние для каждого ресурса, которым Puppet Master управляет на Slave. Я подробно объясню каталоги и ресурсы позже.
  • Puppet Slave сообщает Master, указывая, что настройка завершена, что отображается на панели инструментов Puppet.

Посмотрите это обучающее видео по Puppet, чтобы лучше понять Puppet.

Учебник по куклам для начинающих | Обучение DevOps | Эдурека

Учебное пособие по марионеткам - общение хозяина и раба Марионетки

Хозяин Марионеток и Раб общаются черезбезопасный зашифрованный канал с помощью SSL. На схеме ниже показано то же самое:

Как вы можете видеть на изображении выше:

  • Puppet Slave запрашивает сертификат Puppet Master.
  • После получения сертификата мастера марионетки мастер запрашивает сертификат подчиненного устройства.
  • Как только Мастер подписал сертификат Slave, Slave запрашивает конфигурацию / данные.
  • Наконец, Puppet Master отправит конфигурацию Puppet Slave.

Давайте теперь посмотрим на различные компоненты Puppet.

Puppet Tutorial - Компоненты Кукольный

Проявляет: Каждый Slave имеет свои детали конфигурации в Puppet Master, написанные на родном языке Puppet. Эти детали написаны на языке, который может понять Puppet, и называются Манифестами. Они состоят из кода Puppet, и в их именах используется .pp расширение. Это в основном марионеточные программы.
Например: вы можете написать манифест в Puppet Master, который создает файл и устанавливает сервер Apache на всех Puppet Slaves, подключенных к Puppet Master.

Модуль: Модуль марионетки - это набор манифестов и данных (таких как факты, файлы и шаблоны), и они имеют определенную структуру каталогов. Модули полезны для организации кода Puppet, поскольку они позволяют разделить код на несколько манифестов. Модули - это автономные пакеты кода и данных.

Ресурс: Ресурсы - это основная единица моделирования конфигураций системы. Каждый ресурс описывает какой-то аспект системы, например конкретную услугу или пакет.

Фактер: Facter собирает основную информацию (факты) о Puppet Slave, такую ​​как сведения об оборудовании, сетевые настройки, тип и версия ОС, IP-адреса, MAC-адреса, ключи SSH и многое другое. Эти факты затем становятся доступными в Манифестах Хозяина Марионеток как переменные.

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

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

Каталоги: Каталог описывает желаемое состояние каждого управляемого ресурса на ведомом устройстве. Это компиляция всех ресурсов, которые Хозяин Марионеток применяет к данному Подчиненному устройству, а также взаимосвязей между этими ресурсами.Каталоги составляются Puppet Master из манифестов и данных, предоставленных Slave (таких как факты, сертификаты и среда, если таковая имеется), а также дополнительных внешних данных (таких как данные из внешнего классификатора Slave, экспортированные ресурсы, и функции). Затем Мастер передает скомпилированный Каталог подчиненному по запросу.

В этом руководстве по Puppet мой следующий раздел будет сосредоточен на практических занятиях.

Учебное пособие по куклам - Практическое занятие

Я покажу вам, как развернуть MySQL и PHP с Puppet Master на Puppet Slave. Я использую только одно ведомое устройство для демонстрационных целей, к одному мастеру могут быть подключены сотни ведомых устройств. Для развертывания PHP и MySQL я буду использовать предопределенные модули, доступные на сайте forge.puppet.com. Вы также можете создавать свои собственные модули.

Шаг 1: В Puppet Master установите модули MySQL и PHP.

Выполните это:

1) puppet module install puppetlabs-mysql –version 3.10.0

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

2) puppet module install mayflower-php –version 4.0.0-beta1

Этот модуль используется для управления PHP, в частности php-fpm. PHP-FPM (FastCGI Process Manager) - это альтернативная реализация PHP FastCGI с некоторыми дополнительными функциями, полезными для сайтов любого размера, особенно для более загруженных сайтов.

Шаг 2: В Puppet Manifests включены сервер MySQL и PHP.

Выполните это: vi /etc/puppet/manifests/site.pp

Вы можете использовать любой другой редактор, например vim, gedit и т. Д. В этот файл site.pp добавьте следующее:

include ':: mysql :: server' include ':: php'

Сохранить и выйти.

Шаг 3: Puppet Slaves получает свою конфигурацию от Мастера периодически (каждые 30 минут). Он оценит основной манифест и применит модуль, определяющий настройку MySQL и PHP. Если вы хотите опробовать его немедленно, вам нужно выполнить следующую команду на каждом подчиненном узле:

Выполните это: марионеточный агент -t

Итак, MySQL и PHP успешно установлены на ведомом узле.

Шаг 4: Чтобы проверить установленную версию MySQL и PHP:

Выполните это:

1) mysql -v

2) php -версия

Поздравляю! MySQl и PHP запущены и работают на вашем Puppet Slave. Здесь я показал вам только одного Раба, но представьте, есть ли там сотни Рабов. В этом сценарии ваша работа становится настолько простой. Просто укажите конфигурации в Puppet Master, и Puppet Slaves автоматически оценит основной манифест и применит модуль, определяющий настройку MySQL и PHP.

Если вы нашли это Кукольный Учебник соответствующие, проверить от Edureka, надежной компании по онлайн-обучению с сетью из более чем 250 000 довольных учащихся по всему миру. Курс Edureka DevOps Certification Training помогает учащимся получить опыт работы с различными процессами и инструментами DevOps, такими как Puppet, Jenkins, Nagios и GIT для автоматизации нескольких этапов в SDLC.