Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial Internet of Things >> Облачные вычисления

Что такое Puppet?

В DevOps вы хотите автоматизировать как можно больше задач. Ручная настройка среды занимает недели с обширными инфраструктурами. К тому времени, когда все будет настроено, вы будете тушить пожары, а не внедрять новые эффективные решения, такие как серверы Rancher.

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

В этой статье объясняется, что такое Puppet, какие проблемы он решает и как использовать Puppet для успешной автоматизации ручных операций в команде DevOps.

Что такое марионетка?

Puppet — это инструмент IaC (инфраструктура как код) для управления несколькими серверами. Написанный на Ruby (в основном), Puppet работает на нескольких Unix-подобных системах, а также поддерживает Windows.

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

Для чего используется марионетка?

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

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

Управление конфигурацией кукол

Сценарии автоматизации помогают справляться с повторяющимися задачами, такими как установка и настройка серверов. Однако при работе с обширной инфраструктурой сценарии автоматизации не масштабируются.

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

Управление конфигурацией сервера происходит благодаря подходу «инфраструктура как код». В случае Puppet код управления сервером находится в коде Puppet, похожем на Ruby. Язык является декларативным и описывает конфигурацию на основе модели.

Как работает марионетка?

Puppet использует клиент-серверный подход и состоит из следующих систем:

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

Топология и архитектура кукол

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

Топология проходит следующие этапы:

  1. Узел, на котором запущен демон агента Puppet, собирает всю информацию (факты) о себе, и агент отправляет эти факты мастеру Puppet.
  2. Puppet Master использует данные для создания каталога конфигурации узла и отправляет его обратно агенту Puppet.
  3. Агент Puppet настраивается на основе каталога и отчитывается перед мастером Puppet.

Puppet использует утилиту под названием Facter . для обнаружения системной информации. Инструмент поставляется с установкой Puppet по умолчанию.

Хозяин кукол

Puppet Master — это демон, работающий на выделенном сервере. Puppet Master — это источник информации и полномочия по настройке в качестве серверного узла. Мастер отправляет инструкции всем узлам-агентам и следит за конфигурацией системы.

Хозяин Марионеток отвечает за следующие задачи:

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

Марионеточные агенты

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

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

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

Кукольное шифрование и безопасность связи

Puppet использует OpenSSL для связи и безопасности. Основанный на протоколах SSL и TLS, Puppet использует стандартное шифрование SSL/TLS и сертификаты SSL для аутентификации и проверки агента/мастера. Кроме того, Puppet шифрует поток трафика между агентами и серверами с помощью SSL/TLS, используя SHA-256 в качестве хэша по умолчанию.

Методы шифрования в Puppet обеспечивают следующее:

Мастер создает свой собственный сертификат ЦС, закрытый ключ, CRL (список отозванных сертификатов) и сертификат сервера. Сертификат сервера отправляется агентам для включения связи SSL и TLS.

Преимущества Puppet и почему вы должны его использовать

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

1. Открытый исходный код

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

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

2. Абстракция ресурсов

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

Facter помогает Puppet разобраться в специфике и достичь абстракции. Системные данные и сведения об ОС знакомы с Puppet благодаря Facter.

3. Идемпотентность

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

4. Кроссплатформенность

Puppet охватывает широкий спектр платформ, что увеличивает количество серверов в процессе автоматизации конфигурации. Инструмент работает в Windows, OS X, системах на базе Debian, Fedora, Gentoo, RHEL и Solaris.

5. Гибкость

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

Заключение

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

Чтобы увидеть, как Puppet сравнивается с другими подобными технологиями, ознакомьтесь с нашей сравнительной статьей:Ansible, Terraform и Puppet.


Облачные вычисления

  1. Что такое алмазная токарная обработка?
  2. Что такое ультразвуковая обработка?
  3. Что такое ротационное формование?
  4. Что такое хромирование?
  5. Что такое перфоратор?
  6. Что такое фрикционное сверление?
  7. Что такое точечная сварка?
  8. Что такое оцинкованное железо?
  9. Что такое повторная платформа в облаке?
  10. Что такое сталь A2?