Puppet (маріонетка англійською) — багатоплатформовий клієнт-серверний застосунок, який дозволяє централізовано керувати конфігурацією операційних систем та програм, встановлених на кількох комп'ютерах. Puppet написано мовою програмування Ruby.
Тип | |
---|---|
Розробник | |
Перший випуск | 2005 |
Стабільний випуск | 4.0 (15 квітня 2015 ) |
Операційна система | (GNU/Linux), Unix-like, Windows |
Мова програмування | Ruby |
Стан розробки | активний |
Ліцензія | Apache для >2.7.0; GPL для попередніх версій. |
Репозиторій | github.com/puppetlabs/puppet |
Вебсайт | www.puppetlabs.com |
|
Puppet дозволяє просто налаштувати і згодом швидко керувати майже кожною мережею на базі будь-якої операційної системи Red Hat, CentOS, Fedora, Debian, Ubuntu, OpenSUSE , Solaris, BSD, Mac OS X і Microsoft Windows (через cygwin).
Система Puppet досить поширена у світі IT, де у своїй роботі її використовують такі компанії як Google, Fedora Project, Стенфордський університет, Red Hat, Siemens IT Solution, Badoo і SugarCRM.
Puppet дозволяє автоматизувати роботу з адміністрування групи серверів, уможливлюючи централізоване керування користувачами, установку пакетів, оновлення конфігурації тощо. Вузли мережі, керовані за допомогою Puppet, час від часу опитують сервер, отримують і застосовують зміни конфігурації внесені адміністратором. Для описання конфігурації вживається особлива декларативна мова.
Схема роботи Puppet — клієнт-серверна, хоча підтримується і варіант роботи без сервера з обмеженою функціональністю. Використовується pull-модель роботи: за замовчуванням раз в півгодини клієнти звертаються до сервера за конфігурацією і застосовують її.
Наприклад у аналогічного за призначенням продукту Ansible використовується push-модель: адміністратор ініціює процес застосування конфігурації, самі по собі клієнти нічого не застосовуватимуть.
При мережевій взаємодії використовується двостороннє TLS-шифрування: у сервера і клієнта є свої закриті ключі і відповідні їм сертифікати. Щоб підключити агент до основного сервера, на агенті слід сгенерувати RSA-ключ SSL, та зробити запит до сервера на підпис ключа. В результаті на сервері з'явиться відповідний запит на підпис сертифікату, після чого його слід підписати. Після цього захищений SSL зв'язок встановлено. Зазвичай сервер випускає сертифікати для клієнтів, але в принципі можливо використання і зовнішнього CA. Завдяки цьому алгоритму взаємодії Puppet може працювати без ssh-протоколу, на відміну від Ansible.
Приклад файлу маніфеста manifest.pp:
node 'server1.testdomain' { # блок конфигурації, стосується агена server1.testdomain file { '/etc/issue': # описуємо файл /etc/issue ensure => present, # файл має існувати content => 'Debian GNU/Linux', # файл містить текст owner => root # власник файлу root } }
Файл manifest.pp описує, що на агенті server1.testdomain має існувати файл /etc/issue з текстом 'Debian GNU/Linux'.
Агент server1.testdomain протягом пів години звернеться до сервера за конфігурацією і в результаті її застосування буде створено вказаний вище файл.
Література
- James Turnbull. Pulling Strings with Puppet Configuration Management Made Easy. — Apress, 2008. — 350 p. — .
- James Turnbull, Jeffrey McCune. Pro Puppet. — Apress, 2011. — 350 p. — .
Виноски
- . Архів оригіналу за 29 січня 2013. Процитовано 19 березня 2013.
- Статья на Habrahabr.ru: «Puppet, система управления конфигурациями.» Часть I [ 12 лютого 2012 у Wayback Machine.], Часть II [ 31 січня 2012 у Wayback Machine.]
- . Архів оригіналу за 17 лютого 2013. Процитовано 19 березня 2013.
Посилання
- Офіційний сайт(англ.)
- (англ.)
- (англ.)
- Централизованная настройка UNIX-систем с помощью Puppet [ 20 березня 2013 у Wayback Machine.](рос.)
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Puppet marionetka anglijskoyu bagatoplatformovij kliyent servernij zastosunok yakij dozvolyaye centralizovano keruvati konfiguraciyeyu operacijnih sistem ta program vstanovlenih na kilkoh komp yuterah Puppet napisano movoyu programuvannya Ruby PuppetTipRozrobnikPershij vipusk2005 19 rokiv tomu 2005 Stabilnij vipusk4 0 15 kvitnya 2015 9 rokiv tomu 2015 04 15 Operacijna sistemaGNU Linux Unix like WindowsMova programuvannyaRubyStan rozrobkiaktivnijLicenziyaApache dlya gt 2 7 0 GPL dlya poperednih versij Repozitorijgithub com puppetlabs puppetVebsajtwww puppetlabs com Mediafajli u Vikishovishi Puppet dozvolyaye prosto nalashtuvati i zgodom shvidko keruvati majzhe kozhnoyu merezheyu na bazi bud yakoyi operacijnoyi sistemi Red Hat CentOS Fedora Debian Ubuntu OpenSUSE Solaris BSD Mac OS X i Microsoft Windows cherez cygwin Sistema Puppet dosit poshirena u sviti IT de u svoyij roboti yiyi vikoristovuyut taki kompaniyi yak Google Fedora Project Stenfordskij universitet Red Hat Siemens IT Solution Badoo i SugarCRM Puppet dozvolyaye avtomatizuvati robotu z administruvannya grupi serveriv umozhlivlyuyuchi centralizovane keruvannya koristuvachami ustanovku paketiv onovlennya konfiguraciyi tosho Vuzli merezhi kerovani za dopomogoyu Puppet chas vid chasu opituyut server otrimuyut i zastosovuyut zmini konfiguraciyi vneseni administratorom Dlya opisannya konfiguraciyi vzhivayetsya osobliva deklarativna mova Shema roboti Puppet kliyent serverna hocha pidtrimuyetsya i variant roboti bez servera z obmezhenoyu funkcionalnistyu Vikoristovuyetsya pull model roboti za zamovchuvannyam raz v pivgodini kliyenti zvertayutsya do servera za konfiguraciyeyu i zastosovuyut yiyi Napriklad u analogichnogo za priznachennyam produktu Ansible vikoristovuyetsya push model administrator iniciyuye proces zastosuvannya konfiguraciyi sami po sobi kliyenti nichogo ne zastosovuvatimut Pri merezhevij vzayemodiyi vikoristovuyetsya dvostoronnye TLS shifruvannya u servera i kliyenta ye svoyi zakriti klyuchi i vidpovidni yim sertifikati Shob pidklyuchiti agent do osnovnogo servera na agenti slid sgeneruvati RSA klyuch SSL ta zrobiti zapit do servera na pidpis klyucha V rezultati na serveri z yavitsya vidpovidnij zapit na pidpis sertifikatu pislya chogo jogo slid pidpisati Pislya cogo zahishenij SSL zv yazok vstanovleno Zazvichaj server vipuskaye sertifikati dlya kliyentiv ale v principi mozhlivo vikoristannya i zovnishnogo CA Zavdyaki comu algoritmu vzayemodiyi Puppet mozhe pracyuvati bez ssh protokolu na vidminu vid Ansible Priklad fajlu manifesta manifest pp node server1 testdomain blok konfiguraciyi stosuyetsya agena server1 testdomain file etc issue opisuyemo fajl etc issue ensure gt present fajl maye isnuvati content gt Debian GNU Linux fajl mistit tekst owner gt root vlasnik fajlu root Fajl manifest pp opisuye sho na agenti server1 testdomain maye isnuvati fajl etc issue z tekstom Debian GNU Linux Agent server1 testdomain protyagom piv godini zvernetsya do servera za konfiguraciyeyu i v rezultati yiyi zastosuvannya bude stvoreno vkazanij vishe fajl LiteraturaJames Turnbull Pulling Strings with Puppet Configuration Management Made Easy Apress 2008 350 p ISBN 978 1 59059 978 5 James Turnbull Jeffrey McCune Pro Puppet Apress 2011 350 p ISBN 978 1 4302 3057 1 Vinoski Arhiv originalu za 29 sichnya 2013 Procitovano 19 bereznya 2013 Statya na Habrahabr ru Puppet sistema upravleniya konfiguraciyami Chast I 12 lyutogo 2012 u Wayback Machine Chast II 31 sichnya 2012 u Wayback Machine Arhiv originalu za 17 lyutogo 2013 Procitovano 19 bereznya 2013 PosilannyaOficijnij sajt angl angl angl Centralizovannaya nastrojka UNIX sistem s pomoshyu Puppet 20 bereznya 2013 u Wayback Machine ros