Марионетка (программное обеспечение)
![]() | Эта статья содержит контент, написанный как реклама . ( февраль 2018 г. ) |
![]() | |
Разработчик(и) | Кукольный |
---|---|
Первоначальный выпуск | 2005 г |
Стабильная версия | 8.5.1
/ 4 марта 2024 г |
Репозиторий | |
Написано в | C++ и Clojure начиная с версии 4.0, [1] Руби |
Операционная система | Linux , Unix-подобные , Microsoft Windows |
Тип | |
Лицензия | Puppet с открытым исходным кодом: Apache для > 2.7.0, GPL для предыдущих версий. Марионеточное предприятие: собственность [2] |
Веб-сайт | кукольный |
Puppet — это инструмент управления конфигурацией программного обеспечения , который включает в себя собственный декларативный язык для описания конфигурации системы . Он разработан компанией Puppet Inc, основанной Люком Кейнисом в 2005 году. Его основной продукт — Puppet Enterprise. [3] является проприетарной программного обеспечения Puppet с закрытым версией исходным кодом . Они используют декларативный язык Puppet для управления этапами жизненного цикла ИТ-инфраструктуры , включая предоставление , исправление , настройку и управление компонентами операционной системы и приложений в центрах обработки данных и облачных инфраструктурах . [4]
Puppet использует модель с открытым ядром ; его версия бесплатного программного обеспечения была выпущена под лицензией GNU General Public License (GPL) версии 2 до версии 2.7.0, [5] и более поздние выпуски используют лицензию Apache , а Puppet Enterprise использует проприетарную лицензию.
Puppet и Puppet Enterprise работают на нескольких Unix-подобных системах (включая Linux , Solaris , BSD , Mac OS X , AIX , HP-UX ) и поддерживают Microsoft Windows . [6] [7] Сам Puppet написан на Ruby , Facter — на C++ , а Puppet Server и Puppet DB — на Clojure . [8]
Дизайн [ править ]
Puppet предназначен для декларативного управления конфигурацией Unix-подобных систем и систем Microsoft Windows . Пользователи описывают системные ресурсы и их состояния, используя либо декларативный язык Puppet, либо Ruby DSL ( язык, специфичный для предметной области ). Эта информация хранится в файлах, называемых «Марионеточные манифесты». Puppet обнаруживает системную информацию с помощью утилиты Facter и компилирует манифесты Puppet в каталог для конкретной системы, содержащий ресурсы и зависимости ресурсов, которые применяются к целевым системам. Затем сообщается о любых действиях, предпринятых Puppet.
Puppet состоит из специального декларативного языка для описания конфигурации системы, который можно либо применить непосредственно в системе, либо скомпилировать в каталог и распространить в целевую систему через парадигму клиент-сервер (с использованием REST API ), а агент использует систему. -конкретные поставщики для обеспечения использования ресурса, указанного в манифестах. Уровень абстракции ресурсов позволяет администраторам описывать конфигурацию в терминах высокого уровня, таких как пользователи, службы и пакеты, без необходимости указывать специфичные для ОС команды (такие как rpm , yum , apt ).
Puppet управляется моделью , поэтому для его использования требуются ограниченные знания программирования. [9] Он поставляется в двух версиях: Puppet Enterprise и с открытым исходным кодом Puppet . Помимо предоставления функций Puppet с открытым исходным кодом , Puppet Enterprise также предоставляет графический интерфейс пользователя , API и инструменты командной строки для управления узлами.
Архитектура [ править ]

Puppet следует архитектуре клиент-сервер . Клиент известен как агент, а сервер известен как мастер. Для тестирования и простой настройки его также можно использовать как автономное приложение, запускаемое из командной строки.
Puppet Server устанавливается на один или несколько серверов, а Puppet Agent устанавливается на все управляемые машины. Агенты Puppet связываются с сервером и получают инструкции по настройке. Затем агент применяет конфигурацию в системе и отправляет отчет о состоянии на сервер. [10] Устройства могут запускать Puppet Agent в качестве демона , который может запускаться периодически как задание cron или запускаться вручную при необходимости.
Язык программирования Puppet — это декларативный язык , который описывает состояние компьютерной системы с точки зрения «ресурсов», которые представляют собой базовые конструкции сети и операционной системы. Пользователь собирает ресурсы в манифесты , описывающие желаемое состояние системы. Эти манифесты хранятся на сервере и по запросу компилируются в инструкции по настройке для агентов. [11]
Синтаксис ресурса марионетки:
type { 'title':
attribute => value
}
Пример ресурса, представляющего Unix пользователя :
user { 'harry':
ensure => present,
uid => '1000',
shell => '/bin/bash',
home => '/var/tmp'
}
Puppet позволяет пользователям настраивать системы независимо от платформы, представляя концепции операционной системы в виде структурированных данных. Вместо того, чтобы указывать точные команды для выполнения системного действия, пользователь создает ресурс, который Puppet затем преобразует в специфичные для системы инструкции, которые отправляются на настраиваемую машину. Например, если пользователь хочет установить пакет на три разных узла, каждый из которых работает под управлением другой операционной системы, он может объявить один ресурс, и Puppet определит, какие команды необходимо выполнить, на основе данных, полученных от Facter, программа, которая собирает данные о системе, в которой она работает, включая ее операционную систему, IP-адрес и некоторую об оборудовании . информацию [12] Провайдеры на узле используют факты Factor и другие сведения о системе для перевода типов ресурсов в каталоге в машинные инструкции, которые фактически будут настраивать узел.
Обычный запуск Puppet состоит из следующих этапов:
- Агент отправляет факты от Factor к мастеру.
- Puppet строит график списка ресурсов и их взаимозависимостей, представляющий порядок, в котором их необходимо настроить, для каждого клиента. Мастер отправляет соответствующий каталог каждому узлу агента.
- Затем фактическое состояние системы настраивается в соответствии с желаемым состоянием, описанным в файле манифеста. Если система уже находится в желаемом состоянии, Puppet не будет вносить никаких изменений, делая транзакции идемпотентными .
- Наконец, агент отправляет мастеру отчет с подробным описанием внесенных изменений и возникших ошибок.
Привлечение поставщиков и принудительное привлечение [ править ]
![]() | |
Тип компании | Частный [13] |
---|---|
Промышленность | Компьютерное программное обеспечение [13] |
Основан | 2005 г нужна ссылка ] | [
Штаб-квартира | Портленд, Орегон , США |
Ключевые люди | Люк Кейнис (основатель) , Ивонн Вассенаар (генеральный директор) , Эндрю Шафер |
Продукты | Марионетка, Марионеточное предприятие и Марионеточная кузница [14] |
Веб-сайт | кукольный |

Поставщик Puppet, Puppet Inc., является частной компанией по разработке программного обеспечения для автоматизации информационных технологий (ИТ), базирующейся в Портленде, штат Орегон , США .
В 2005 году компания Puppet была основана бывшим генеральным директором Люком Кейнисом. [ нужна ссылка ] 29 января 2019 г. Ивонн Вассенаар сменила Санджая Мирчандани на посту генерального директора. Вассенаар ранее работал в Airware , New Relic и VMware .
В феврале 2011 года Puppet выпустила свой первый коммерческий продукт Puppet Enterprise, построенный на основе открытого исходного кода и с некоторыми дополнительными коммерческими компонентами. [15] В сентябре 2011 года компания выпустила Puppet Enterprise 2.0, в которой была реализована интеграция с MCollective, приобретенной Puppet в 2010 году. [16] а также предоставление виртуальных машин на Amazon EC2 и VMware . [17] В июне 2013 года Puppet выпустила Puppet Enterprise 3.0 с переписанным механизмом оркестровки. [18]
Puppet приобрела компанию Distelli, занимающуюся автоматизацией инфраструктуры, в сентябре 2017 года. [19] Puppet переименовала панель управления виртуальными машинами Distelli ( продукт непрерывной интеграции / непрерывной доставки ) в Puppet Pipelines for Applications. [20] и K8s Dashboard как Puppet Pipelines для контейнеров . [21] Продукты стали общедоступными в октябре 2017 года. [22]
В мае 2018 года Puppet выпустила Puppet Discovery — инструмент для обнаружения ресурсов в гибридных сетях и управления ими. [23] Это третий автономный корпоративный продукт Puppet.
В июне 2018 года Puppet привлекла дополнительно 42 миллиона долларов на общую сумму 150 миллионов долларов финансирования. Раунд возглавлял Cisco , в нем участвовали Kleiner Perkins , True Ventures, EDBI и VMware . [24]
Puppet является партнером и имеет технологическую интеграцию с VMware , Amazon Web Services , Cisco , OpenStack , Microsoft Azure , Eucalyptus и Zenoss. [25]
В апреле 2022 года было объявлено, что Puppet была приобретена разработчиком со штаб-квартирой в Миннеаполисе программного обеспечения Perforce . [26] Впоследствии компания уволила 15% сотрудников Puppet в Портленде. [27]
См. также [ править ]
Ссылки [ править ]
- ^ «Развивающаяся марионетка на ближайшие 10 лет» . Люк Кейнис. 23 сентября 2014 г. Проверено 26 мая 2017 г.
- ^ «Лицензионное соглашение Puppet Master» . Архивировано из оригинала 4 августа 2019 г. Проверено 7 февраля 2019 г.
- ^ Рао, Лина (29 ноября 2011 г.). «Cisco, Google Ventures и VMware вложили 8,5 млн долларов в стартап Puppet Labs по автоматизации центров обработки данных» . TechCrunch.
- ^ Грейнер, Эмбер. «Puppet Labs объявляет о выпуске Puppet Enterprise» .
- ^ «Часто задаваемые вопросы о марионетке» . Кукольные лаборатории. Архивировано из оригинала 20 марта 2016 года . Проверено 10 марта 2010 г.
- ^ «Документация: PE 2.0 — Установка — Системные требования» . Кукольный.
- ^ «Системные требования Марионетки» . Кукольный.
- ^ «Развивающаяся марионетка на ближайшие 10 лет» . Люк Кейнис. 23 сентября 2014 г. Проверено 26 мая 2017 г.
- ^ «Развертывание приложений Apache Tomcat с помощью Puppet» . tomcatexpert.com . Проверено 23 января 2015 г.
- ^ «Обзор архитектуры Puppet — Документация — Puppet» . docs.puppet.com . Архивировано из оригинала 1 октября 2016 г. Проверено 14 сентября 2016 г.
- ^ Крам, Хевелинген, Керо, Тернбулл, МакКьюн (9 декабря 2013 г.). Про Марионетку . Апресс. ISBN 978-1430260400 .
{{cite book}}
: CS1 maint: несколько имен: список авторов ( ссылка ) - ^ «Факт» .
- ↑ Перейти обратно: Перейти обратно: а б «Обзор компании Puppet Labs, Inc» . Блумберг Бизнесуик. Архивировано из оригинала 26 октября 2012 года.
- ^ «Кукольное предприятие» . Кукольный.
- ^ Кернер, Шон Майкл (2 февраля 2011 г.). «Марионетка идет за управлением корпоративной системой» . Планета корпоративных сетей.
- ^ Рао, Лина (7 октября 2010 г.). «Стартап Puppet Labs по автоматизации центров обработки данных приобретает проект с открытым исходным кодом The Marionette Collective» . TechCrunch.
- ^ Финли, Клинт (22 сентября 2011 г.). «Puppet 2.0 будет поддерживать подготовку Amazon EC2 и VMware» . Кремниевый угол.
- ^ Новый инструмент Puppet усиливает автоматизацию оркестровки для корпоративного использования — Tech News and Analysis . Гигаом.com (25 июня 2013 г.). Проверено 9 декабря 2013 г.
- ^ «Добро пожаловать в семью Марионеток, Дистелли!» .
- ^ «Руководство пользователя Pipelines for Applications — Pipelines for Applications Enterprise | Puppet» . Архивировано из оригинала 7 июля 2018 г. Проверено 7 июля 2018 г.
- ^ «Руководство пользователя «Трубопроводы для контейнеров» — Предприятие «Трубопроводы для контейнеров | Марионетка» . Архивировано из оригинала 7 июля 2018 г. Проверено 7 июля 2018 г.
- ^ «Представляем Puppet Pipelines™ и реестр контейнеров Puppet®» .
- ^ «Анонсируем общедоступность Puppet Discovery™: 8 мая» .
- ^ «Puppet привлекает 42 миллиона долларов во главе с Cisco, поскольку ее платформа автоматизации DevOps используется 40 000 компаний» . ТехКранч . Проверено 22 марта 2019 г.
- ^ Рао, Лина (29 ноября 2011 г.). «Cisco, Google Ventures и VMware вложили 8,5 млн долларов в стартап Puppet Labs по автоматизации центров обработки данных» . TechCrunch.
- ^ «Perforce Software приобретает Puppet» . ТехКранч . Проверено 11 апреля 2022 г.
- ^ Спенсер, Малия (8 августа 2022 г.). «Perforce Software начинает увольнения в Portland's Puppet» . Деловые журналы: Портленд Инно .
Внешние ссылки [ править ]

- Компании, базирующиеся в Портленде, штат Орегон
- Американские компании, основанные в 2005 году
- Частные компании, базирующиеся в Орегоне
- Компании информационных технологий США
- 2005 г. заведения в Орегоне
- Компании-разработчики программного обеспечения, основанные в 2005 году.
- программное обеспечение 2005 года
- Программное обеспечение для оркестровки
- Управление конфигурацией
- Кроссплатформенное бесплатное программное обеспечение
- Бесплатное программное обеспечение, написанное на Ruby.
- Программное обеспечение, использующее лицензию Apache
- Программное обеспечение виртуализации для Linux