Post on 22-Feb-2017
Advanced automation and provisioning in Red Hat Satellite 6
Konrad Rzentarzewski, IT Automation Architect, Linux Polska
Usługi:
● Automatyzacja IT,● Satellite, ● Kontroler Domeny Linux, ● Diagnostyka OpenStack,● Migracje.
Szkolenia Open Source
● Puppet Labs,● Linux,● JBoss ● OpenStack,● PostgreSQL.
Linux Polska – co robimy?
OpenStack Diagnostics powered by LinuxPolska
Powerful Diagnostic Solution for OpenStackwww.CloudBliss.io
Satellite 6
Systems Life Cycle Management
Satellite 6 - Systems Life Cycle Management
● Gdy instalacja serwera następuje poprzez żądanie API, okazuje się że wszyscy jesteśmy teraz programistami. - Tom Limoncelli, o chmurach obliczeniowych, DevOps i konieczności wprowadzania umiejętności deweloperskich do środowisk administratorów systemów.
Satellite 6
Subscription Management
Satellite 6 - Subscription Management
● Zarządzanie konfiguracjami jest automatyzowane za pomocą kluczy aktywacyjnych.
● Mapowania host-guest są pobierane z API/hypervisorów.
● Możliwe jest tworzenie “wirtualnych instancji” serwera za pomocą organizacji.
● Serwery mogą być organizowane w grupy.
● Agent pozwala na wykonywanie zdalnych instalacji oraz raportowanie stanu oprogramowania.
Satellite 6
Package Life-cycle Management
Satellite 6 – Package Life-cycle Management
● Środowiska
● Library
● Development
● QA
● Production
● Promocja Content View w modelu SDLC
● projektowanie → testowanie → wdrażanie → raportowanie
● Filtrowanie Content View
● Grupy
● ID Erraty
● Zakresy dat Erraty
Satellite 6
Configuration Management
Satellite 6 – Configuration Management
● Puppet
● Lider Configuration Management
● 10 lat doświadczenia rynkowego
● Model deklaratywny
● Bogaty ekosystem oraz społeczność
● Wersja Enterprise
Satellite 6
Provisioning
Satellite 6 – Provisioning
● API integruje środowiska obliczeniowe (“Compute Resources”)
● EMC vCenter
● RHEV
● KVM (libvirt)
● Amazon EC2
● Użycie szablonów ERB (embedded Ruby - podobne do PHP)
● Gotowe szablony TFTP/PXE
● Gotowe szablony Kickstart
● Foreman Discovery Image (FDI) – wykrywanie nowego sprzętu
● Integracja z komponentami zarządzania infrastrukturą
● Rejestrowanie nowych serwerów
● Wyrejestrowywanie usuwanych
Satellite 6
Narzędzie DevOps
Satellite 6 – Narzędzia DevOps
● Rozwój dojrzałych frameworków dedykowanych administracji
● Monitoring (#monitoringlove)
● Projektowanie z uwzględnieniem awarii
● Analiza pojemności systemów i automatyczne skalowanie
Satellite 6
Model “Lean”
Satellite 6 – Model “Lean”
● Powstały w Japonii w firmie Toyota w latach 60-tych
● Świadomość o każdym elemencie “łańcucha produkcyjnego”
● Dostarczanie komponentów dokładnie wtedy, kiedy są potrzebne
● Kanban – usprawnienie komunikacji
● System otwarty na dyskusje i udoskonalenia
● FMEA – analiza ryzyka
● Analizy Post-Mortem – udoskanalanie bez obwiniania
Satellite 6
Software Development Life Cycle, Test Driven Development
Satellite 6 – Software Development Life Cycle, Test Driven Development
● projektowanie → testowanie → wdrażanie → raportowanie
● Bezpieczny, powtarzalny proces.
● Możliwość szacowania ryzyka zmian.
● Utrzymanie spójnego, homogenicznego środowiska.
● Projektowanie na podstawie specyfikacji.
● Możliwość prześledzenia ścieżki zmian od zlecenia przez implementację, po wdrożenie.
Configuration Management
Workflow Red Hat - zalety
Satellite 6 – Workflow Red Hat - zalety
● Dostępny zaraz po instalacji
● katello-installer --foreman-admin-password changeme
● Zarządzanie konfiguracją w identyczny sposób jak pakietami:
● Life-Cycle Environments
● Content Views
● Moduły puppet jako paczki (tarball)
Configuration Management
Workflow Red Hat - wady
Satellite 6 – Workflow Red Hat - wady
● Publikacja Content Views zużywa dużą ilość zasobów.
● Sformalizowany proces promocji poprawek w modułach w oparciu o środowiska (brak możliwości wprowadzenia kosmetycznej poprawki).
● Autorski mechanizm konfiguracji klas poprzez Smart Variables może być zbyt skomplikowany.
● Standardowa instalacja na 1 serwerze (serwer Satellite i Puppet współdzielą zasoby).
● Bazuje na starym kodzie (3.6.2):
● Serwer puppet gorzej się skaluje.
● Brak zaawansowanych funkcji języka DSL.
Configuration Management
Workflow Puppet Enterprise- zalety
Satellite 6 – Workflow Puppet Enterprise- zalety● “Lekkie” SDLC bazujące na repozytoriach kodu Git
● Natywnie tworzone środowiska
● Ekosystem narzędzi DevOps gotowych do wykorzystania
● Możliwość wdrożenia procesów CI, CD, code review
● Oparty o “puppet current” (4.2)
● Lepsze skalowanie
● Możliwości języka (typowanie, iteracje, heredoc)
● Dodatkowe nowości w PE 2015.3
● Puppet Application Orchestration
● Direct-Puppet
● Code Manager
Satellite 6 – Workflow Puppet Enterprise- zalety● Separacja danych od kodu (hiera)
● Wsparcie dla mechanizmu eksportu zasobów (puppetdb)
● Wsparcie dla orkiestracji (mcollective)
Configuration Management
Workflow Puppet Enterprise - wady
Satellite 6 – Workflow Puppet Enterprise- wady● Wymaga licencji Puppet Enterprise
● lub wdrożenia za pomocą własnego zespołu
● Konieczna wiedza nt. serwera puppet oraz foreman smart-proxy
● Klasyfikacja poprzez konsolę PE
● Raportowanie w 2 miejscach (Konsola PE i serwer Satellite)
Provisioning
One click bare-metal & VM
Satellite 6 – One click bare-metal & VM
● Używanie wielu komponentów wymaga wielu operacji – pracochłonne i bez checklist podatne na pomyłki.
● Foreman ma być centralnym i jedynym punktem deploymentu.
● Zunifikowana instalacja na serwerach fizycznych i wirtualnych.
● Instalacja jako proces minimalny, następnie rolę przejmuje system CM (puppet).
Provisioning
Integracje
Satellite 6 – Integracje
● TFTP (DHCP)
● IPA (DNS)
● Puppet (CA)
● Satellite (aktywacja)
● Reguły FDI (instalacja dużej liczby serwerów wg. przyjętych wcześniej reguł)
● Wbudowany KVM
Provisioning
Wady
Satellite 6 – Provisioning - wady
● Standardowo wspiera tylko RH.
● Wieloelementowa konfiguracja.
● Stan konfiguracji nie jest weryfikowany – nieskonfigurowane kroki są pomijane, nawet jeśli prowadzą do niekompletnej konfiguracji.
Configuration Management& Provisioning
Dlaczego warto?
Satellite 6 – Dlaczego warto?
● Automatyzacja nie jest już egzotyką, staje się koniecznością.
● Migracja Sat5 → Sat6 dostarcza wielu ciekawych komponentów “za darmo”.
● Etap konfiguracji przechodzimy tylko raz :-)
● Adopcja CM jest ułatwiona dzięki modułom PuppetForge.
● DevOps, CM, Puppet posiadają rozwinięte i chętne do pomocy społeczności (zarówno na etapie projektowym jak i implementacyjnym).
● Nowoczesne frameworki security dostarczają w pakiecie:
● Reguły, checklisty.
● Moduły CM do konfiguracji.
● Monitoring (agent sprawdzający stan systemu wzg. zdefiniowanych reguł).
Satellite 6 – Dlaczego warto?