Кукольный Учебник
Puppet Tutorial - это второй блог из серии блогов Puppet. Надеюсь, вы читали мой предыдущий блог на тему « Что такое марионетка », Который объясняет управление конфигурациями и почему это важно с помощью сценариев использования.
факториал с использованием рекурсии в c
В этом руководстве по Puppet будут рассмотрены следующие темы:
- Что такое управление конфигурацией?
- Кукольная Архитектура
- Связь хозяина марионетки и подчиненного
- Компоненты марионетки
- Руки вверх
Что такое управление конфигурацией?
В моем предыдущий блог , Я рассказал об управлении конфигурациями и о том, какие проблемы оно помогает нам преодолеть. В этом руководстве по Puppet я расскажу вам о различных взаимозависимых действиях управления конфигурацией.Но перед этим давайте разберемся, что такое Элемент конфигурации (CI). Элемент конфигурации - это любой компонент службы, элемент инфраструктуры или другой элемент, которым необходимо управлять, чтобы гарантировать успешную доставку услуг. Примеры CI включают отдельные документы требований, программное обеспечение, модели и планы.
Управление конфигурацией состоит из следующих элементов:
- Идентификация конфигурации
- Управление изменениями
- Учет состояния конфигурации
- Аудит конфигурации
На схеме ниже поясняются эти компоненты:
Идентификация конфигурации: Это процесс:
- Маркировка элементов конфигурации программного и аппаратного обеспечения с помощью уникальных идентификаторов
- Идентификация документации, описывающей элемент конфигурации
- Группирование связанных элементов конфигурации в базовые показатели
- Маркировка изменений элементов конфигурации и базовых показателей.
Управление изменениями: Это систематический подход к работе с изменениями как с точки зрения организации, так и с точки зрения отдельного человека.
Учет состояния конфигурации: Это включает в себя процесс записи и представления описаний элементов конфигурации (например, оборудования, программного обеспечения, микропрограмм и т. д.) и всех отклонений от базовой линии во время проектирования и производства. В случае подозреваемых проблем можно быстро определить проверку базовой конфигурации и утвержденные модификации.
Аудит конфигурации: Аудиты конфигурации предоставляют механизм для определения степени соответствия текущего состояния системы последним базовым данным и документации. По сути, это формальная проверка, чтобы убедиться, что поставляемый продукт будет работать так, как рекламируется, продвигается или каким-либо образом обещано клиентам. Он использует информацию, доступную в результате аудитов качества и тестирования, вместе с учетной информацией о состоянии конфигурации, чтобы обеспечить уверенность в том, что все необходимое было создано.
Давайте разберемся в управлении конфигурациями на примере использования. Предположим, что вам необходимо обновить определенное программное обеспечение или вы хотите его заменить. В этом случае для успешного управления конфигурацией необходимо следовать приведенной ниже блок-схеме:
Сейчас подходящее время, чтобы понять архитектуру кукол.
Учебник по куклам - Архитектура Кукольный
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.