SaltStack (zkráceně Salt) je moderní nástroj pro automatizaci a správu moderních IT systémů. Dá se nasadit a používat v řádu několika minut. Konfigurační soubory jsou psány v čitelném YAML formátu. Salt je vysoce škálovatelný díky sběrnici pro zasílání zpráv (neboli message bus) pro komunikaci mezi agentem a serverem. Tato architektura umožňuje spravovat až tisíce agentů najednou.
Kromě správy konfigurace umožňuje vzdálené spouštění příkazů a centrální správu cloudové, virtualizační i kontejnerové infrastruktury. Je multiplatformní a podporuje velkou škálu systémů, od UNIXů, Linuxu, Windows a dalších. Vývoj Saltu směřuje k řízení všech aspektů moderního datového centra, nejen serverů, ale všech zařízení.
V kurzu se dozvíte, co SaltStack dokáže, jak jednoduše popisovat i složité systémy, procesy a automatizace. Ukážeme si, jak jednoduše vytvořit nebo použít existující modely služeb.
Díky praktickým cvičením v testovacím prostředí si rychle osvojíte všechny jeho funkce.
Cíle kurzu
- seznámení se s architekturou Saltu, jeho komponentami a vlastnostmi konfiguračního managementu
- instalace a konfigurace Salt prostředí, rozdíly a výhody agent/server a bezagentového módu
- vzdálené spouštění příkazů a vynucování stavu deklarativním způsobem
- popíšeme si základní vzory pro návrh a vývoj vlastních konfiguračních stavů
- využití infrastruktury Salt pro řízení událostmi (event-driven infratructure)
- správa virtualizace, cloudových systémů a kontejnerových platforem
Osnova
Úvod do konfiguračního managementu
- konfigurační management
- Salt architektura
- vzdálené spouštění příkazů
- konfigurační stavy
- metadata (pillary a grainy)
Instalace a konfigurace Salt infrastruktury
- master server
- minion agent na linux
- master vs agent komunikační mód
- master ve vysoké dostupnosti
- práce z příkazové řádky
Vzdálené spouštění příkazů
- příkazové moduly a funkce
- syntaxe Salt příkazů
- spouštění příkazů na vybraných agentech
- příklady příkazů (cmd, pkg, disk, network)
- Salt bez agenta a komunikace pomocí SSH
- komunikace pomocí minion-proxy služby
Konfigurační návrhové vzory
- stavové moduly a funkce
- závislosti stavů
- Jinja2 šablony
- top.sls soubor
- state.highstate funkce
- příklady stavů (pkg, service, cmd, file)
- návrh správné struktury vzorů a metadat
Události v Saltu a "reactor" systém
- sledování událostí
- posílaní událostí
- aktivace "reactor" systému
- aktivace „thorium reactor“ systému
Salt jako orchestrátor resourců
- orchestrace cloudových služeb
- vytváření a správa instancí v cloudu
- příkazové a stavové moduly určené pro cloud
- správa virtualizace a kontejnerů
- vytváření a správa kontejnerů
Předpoklady účastníka
- základy správy Linux platformy
- vhodné je mít i zkušenosti s veřejným cloudem