Extending Puppet - rozszerzanie elementów ekosystemu Puppet
LICZBA DNI: 3 (24h)
KOD KURSU: PUPPET/DEV
O szkoleniu
DLA KOGO?
Szkolenie adresowane jest do zaawansowanych użytkowników Puppet, programistów oraz do administratorów, którzy chcą poznać sposoby rozszerzenia i dostosowania funkcjonalności Puppet do wymagań projektów i środowisk
WYMAGANIA
Wymagana jest wiedza na temat podstaw systemu Puppet odpowiadająca szkoleniu Puppet Essentials
Mile widziana jest także podstawowa znajomość Ruby
ZALETY
Aby wykorzystać w pełni możliwości jakie daje ekosystem Puppet, często niezbędne okazuje się rozszerzenie go o dodatkowe funkcjonalności dostosowane do używanych systemów i aplikacji
Puppet daje możliwość prostego rozszerzenia go o dodatkowe funkcjonalności przy użyciu wtyczek
Cele szkolenia
Uczestnik nabędzie umiejętności pozwalające rozszerzyć funkcjonalność Puppet, Facter, Hiera oraz MCollective, przy pomocy programowania interfejsów programistycznych w Ruby
Dodatkowo uczestnik nabędzie umiejętności testowania nowego kodu zarówno przy użyciu testów jednostkowych oraz akceptacyjnych oraz pozna mechanizmy ciągłej budowy oraz inspekcji kodu dla Puppet
Program
Przegląd ekosystemu Puppet pod kątem możliwości rozszerzania o niestandardowe elementy
- Opis schematu i układ modułu Puppet
- Mechanizm pluginsync
- Moment uruchamiania różnych elementów składowych Puppet
- Mechanizmy testowania jednostkowego RSpec
- Mechanizmy testowania akceptacyjnego Beaker
- Konwencja Puppet_X
Zasady pisania reużywalnych modułów
Dodatkowe fakty w narzędziu Facter
- Tworzenie nowych faktów
- Testowanie manualne i automatyczne
Funkcje w manifestach Puppet
- Tworzenie nowych funkcji
- Testowanie manualne i automatyczne
Dodatkowe typy w manifestach Puppet
- Parametry i właściwości w typach
- Walidacja i dostosowanie danych z manifestów
- Testowanie automatyczne przy użyciu RSpec
Providery dla typów
- Mechanizm dobierania właściwej implementacji
- Dziedziczenie providerów
- Mechanizmy prefetch, flush i instances
- Testowanie automatyczne przy wykorzystaniu RSpec i Beaker
Procesory raportów Puppet
Rozszerzanie Hiera o dodatkowe źródła danych
Rozszerzenia dla MCollective
- Klient
- Serwer
Wykorzystanie PuppetDB poprzez API
Wykorzystanie API klasyfikatora Puppet Enterprise
Rozwiązywanie problemów
