Strona korzysta z plików cookies w celu realizacji usług i zgodnie z Polityką Plików Cookies.


10.06.2019

Inteligentne zarządzanie...

W dniach 11, 12 i 13 czerwca – odpowiednio – w Gdańsku, w Warszawie i w Katowicach,...
27.05.2019

Rozwiązania na platformie GCP

Citrix SD-WAN i Citrix ADC
27.05.2019

Chmura hybrydowa

Dell Technologies Cloud
27.05.2019

Uproszczona komunikacja

Cisco Webex
24.05.2019

Konferencja IT Manager of...

W dniach 12–14 czerwca w Sopocie odbędzie się konferencja IT Manager of Tomorrow 2019. To...
24.05.2019

Ochrona sieci

Fortinet FortiOS 6.2
24.05.2019

Mniejsza złożoność

Rittal VX25 Ri4Power
24.05.2019

All-in-one NAS

QNAP TDS-16489U R2
24.05.2019

Układy SoC

AMD Ryzen Embedded R1000

Autozarządzanie z Puppet

Data publikacji: 30-01-2017 Autor: Grzegorz Kuczyński
Rys. 1. Puppet – architektura...

Liczebność serwerów zarządzanych przez jednego administratora ciągle rośnie. Prędzej czy później stosowane dotychczas metody przestaną się sprawdzać i zajdzie potrzeba automatyzacji procesu zarządzania. Czy można użyć jednego narzędzia do administrowania wszystkimi serwerami znajdującymi się w naszej infrastrukturze? Oczywiście, takim narzędziem jest Puppet.

Popularność technologii wirtualizacyjnych, takich jak KVM czy Docker, sprawiła, że na jednej maszynie fizycznej zazwyczaj znajduje się wiele systemów wymagających oddzielnego zarządzania. Efektywne administrowanie taką infrastrukturą serwerów wymaga odpowiednich narzędzi, często określanych mianem IT Automation. Jednym z nich, a zarazem najpopularniejszą tego typu aplikacją jest Puppet, który wspomaga administratorów w automatycznej konfiguracji systemów. Dzięki niemu tysiącem serwerów można zarządzać tak samo jak setką, jeśli tylko ich konfiguracja ma być jednolita. Puppet znalazł również szerokie zastosowanie w ramach koncepcji DevOps. Mimo iż początkowo przeznaczony był głównie dla systemu Linux oraz na inne systemy z rodziny UNIX, to obecnie wspiera również platformę Windows. Puppet rozwijany jest jako projekt open source przy wsparciu firmy Puppet Labs, w związku z czym dostępny jest w dwóch odmianach: ogólnodostępnej Puppet oraz komercyjnej Puppet Enterprise. O przydatności tej ostatniej, ale również o całym produkcie może świadczyć fakt, iż używany jest on przez takie firmy jak Intel i nowojorska giełda NYSE oraz takie instytucje jak NASA czy CERN. Puppet jest bardzo skalowalny i może zaoszczędzić mnóstwo czasu również tym, którzy mają tylko 10 serwerów.

Puppet posiada dość osobliwą filozofię działania: administrator opisuje, jaki chce osiągnąć efekt końcowy, a Puppet sam dobiera sposób, w jaki zostanie to zrealizowane, w zależności od systemu operacyjnego. Puppet został również wyposażony we własny język programowania, który ma charakter deklaratywny. Deklaracja opisująca efekt końcowy nazywana jest manifestem. Jednak prawdziwą siłą narzędzia Puppet jest społeczność i tworzony przez nią zbiór ogólnodostępnych modułów, pozwalających na uniknięcie zbędnej pracy dzięki temu, że wiele osób automatyzuje te same zadania. Raz opracowany moduł wykorzystywany jest przez całą społeczność. To przynosi dodatkowe oszczędności czasu i pracy, za co zresztą Puppet najbardziej jest ceniony.

> Puppet Ecosystem

Puppet przeważnie uruchamiany jest w architekturze klient–serwer, ale można go również używać jako niezależnego narzędzia, co przydaje się szczególnie podczas testowania manifestów. Puppet składa się z wielu komponentów. Część z nich to zbiór narzędzi napisanych w języku Ruby, inne to logiczne fragmenty kodu bądź etapy przepływu informacji występujące pomiędzy serwerem a klientem.

Centralnym składnikiem architektury jest serwer zwany Puppet Master przeznaczony do instalacji tylko w systemie Linux. Mimo iż sam serwer jest napisany w Ruby, to został skompilowany za pomocą JRuby do kodu binarnego wirtualnej maszyny Java.

Kolejnym komponentem jest klient (Puppet Agent), którego instalujemy na każdej maszynie zarządzanej centralnie z serwera. Puppet Agent jest tym komponentem, który rzeczywiście odpowiada za wprowadzanie zmian w zdalnych systemach. W związku z tym dostępny jest na wszystkie obsługiwane platformy. Jeden serwer może obsługiwać wiele hostów, na których zainstalowany jest agent programu Puppet, ale nie każdy z tych hostów musi realizować te same zadania. Inaczej mówiąc, jeden serwer może wprowadzać różne konfiguracje na każdej ze sterowanych maszyn.

Artykuł pochodzi z miesięcznika: IT Professional

Pełna treść artykułu jest dostępna w papierowym wydaniu pisma.

.

Transmisje online zapewnia: StreamOnline

All rights reserved © 2019 Presscom / Miesięcznik "IT Professional"