- Jinja 62.9%
- Python 18.4%
- Shell 9.6%
- Ruby 5.2%
- HTML 3.3%
- Other 0.6%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
|
||
| dzien_01 | ||
| dzien_02 | ||
| dzien_03 | ||
| dzien_04 | ||
| .gitignore | ||
| LICENSE | ||
| README.md | ||
politechnika-bydgoska-ansible
Szkolenie dla COMARCH, podział na 4 dni w katalogach
Zakładam, że każdy uczestnik będzie miał VM dla zarządzania i 2 VM jako klient.
plan wstępny (Przygotował GenAI, więc nie trzymamy się dokładnie):
Plan szkolenia: Ansible (4 dni × ~7h)
Poniżej propozycja rozłożenia materiału na 4 dni, z uwzględnieniem przerw, części teoretycznej i ćwiczeń praktycznych (zakładam proporcję ok. 40% teoria / 60% praktyka, co sprawdza się dobrze przy szkoleniach z automatyzacji).
Dzień 1 – Podstawy i pierwsze kroki (7h)
Blok 1 (2h): Wprowadzenie do automatyzacji i Ansible
- Czym jest automatyzacja IT, po co ona nam, IaC (Infrastructure as Code)
- Ansible na tle innych narzędzi (Puppet, Chef, Salt, Terraform)
- Architektura Ansible: agentless, SSH, moduły, inventory
- Instalacja Ansible, konfiguracja środowiska (ansible.cfg)
- Ćwiczenie: instalacja i pierwsze
ansible --version,ansible-doc
Przerwa (15 min)
Blok 2 (2h): Proste przykłady wykorzystania Ansible
- Inventory (statyczny plik, grupy, zmienne w inventory)
- Ad-hoc commands:
ansible all -m ping,-m command,-m shell,-m copy - Ćwiczenie: konfiguracja lab (kilka maszyn/kontenerów), pierwsze polecenia ad-hoc
Przerwa na lunch (45 min)
Blok 3 (2,5h): Podstawy składni YAML
- Struktura YAML: listy, słowniki, zagnieżdżenia
- Typowe błędy składniowe (wcięcia, spacje vs taby)
- Walidacja YAML (yamllint, ansible-lint wstęp)
- Ćwiczenia praktyczne z pisania plików YAML
Podsumowanie dnia (15 min): pytania, powtórka
Dzień 2 – Playbooki i zmienne (7h)
Blok 1 (2,5h): Playbooki i ich elementy
- Struktura playbooka: play, hosts, tasks, moduły
become,gather_facts,vars,handlers- Uruchamianie playbooków:
ansible-playbook, opcje (--check,--diff,-v) - Ćwiczenie: pierwszy playbook (instalacja pakietu, uruchomienie usługi)
Przerwa (15 min)
Blok 2 (2h): Zmienne i fakty w Ansible
- Rodzaje zmiennych i priorytety (precedence)
group_vars,host_vars- Fakty (
ansible_facts),gather_facts, modułsetup - Rejestrowanie wyników (
register), zmienne zset_fact
Przerwa na lunch (45 min)
Blok 3 (2h): Ćwiczenia praktyczne
- Warsztat: playbook wykorzystujący zmienne z różnych źródeł + fakty
- Debugowanie zmiennych (
debug,ansible-inventory --list)
Podsumowanie dnia (15 min)
Dzień 3 – Zadania, błędy, konfiguracja (7h)
Blok 1 (2,5h): Zarządzanie zadaniami i obsługa błędów
- Warunki (
when), pętle (loop,with_items) - Tagi (
tags), kolejność wykonania,block/rescue/always - Obsługa błędów:
ignore_errors,failed_when,changed_when - Ćwiczenie: playbook z warunkami, pętlami i obsługą błędów
Przerwa (15 min)
Blok 2 (2h): Zarządzanie plikami konfiguracyjnymi
- Moduły
template,copy,lineinfile,blockinfile - Jinja2 – podstawy szablonów (zmienne, filtry, warunki w szablonach)
- Handlery i
notifyprzy zmianie konfiguracji
Przerwa na lunch (45 min)
Blok 3 (2h): Warsztat praktyczny
- Case study: konfiguracja usługi (np. nginx/apache) z użyciem szablonów Jinja2 i handlerów
- Restart usługi tylko przy zmianie konfiguracji
Podsumowanie dnia (15 min)
Dzień 4 – Role i ekosystem Ansible (7h)
Blok 1 (2,5h): Role w projektach Ansible
- Struktura roli (
tasks,handlers,templates,defaults,vars,meta) - Tworzenie roli ręcznie i przez
ansible-galaxy init - Włączanie ról do playbooka (
roles:,include_role,import_role) - Ćwiczenie: refaktoryzacja wcześniejszego playbooka do postaci roli
Przerwa (15 min)
Blok 2 (2h): Ansible Galaxy i projekt AWX
- Ansible Galaxy: wyszukiwanie, instalacja i wersjonowanie ról/kolekcji
requirements.yml,ansible-galaxy collection install- Wprowadzenie do AWX/Ansible Automation Platform: architektura, różnice względem Ansible CLI
- Podstawowe koncepcje AWX: projekty, inventory, job templates, harmonogramy, RBAC
Przerwa na lunch (45 min)
Blok 3 (1,5h): Podsumowanie i projekt końcowy
- Warsztat końcowy: kompletny mini-projekt łączący role, zmienne, szablony i obsługę błędów
- Dobre praktyki (struktura repozytorium,
ansible-lint, wersjonowanie) - Q&A, podsumowanie szkolenia, wskazówki do dalszej nauki (dokumentacja, certyfikacje)
Uwagi organizacyjne
- Każdy dzień zakłada ok. 5,5–6h "czystego" materiału + przerwy (ok. 1h łącznie dziennie: krótkie przerwy + lunch).
- Warto przygotować środowisko lab (np. kontenery Docker lub maszyny wirtualne) dostępne od Dnia 1, żeby nie tracić czasu na Dzień 2+ na konfigurację.
- Jeśli grupa jest mniej zaawansowana technicznie, dzień 1 i 3 mogą wymagać wydłużenia kosztem skrócenia warsztatu końcowego w dniu 4.