Ansible
Automation Kurs wkrotce

Ansible

Red Hat Ansible Automation Platform

Automatyzacja konfiguracji i orkiestracja bez agentow. Zarzadzaj setkami serwerow jednym poleceniem przez SSH.

Dlaczego warto sie nauczyc?

Ansible uzupelnia Terraform - Terraform tworzy infrastrukture, Ansible ja konfiguruje. Architektura agentless sprawia, ze jest prosty do wdrozenia. Wiele firm uzywa Ansible do zarzadzania konfiguracjami serwerow.

Ansible to narzedzie do automatyzacji konfiguracji, wdrazan i orkiestracji stworzone przez Red Hat. Jego glowna zaleta to architektura agentless - nie wymaga instalowania zadnego oprogramowania na serwerach docelowych. Wystarczy SSH i Python (ktory jest na prawie kazdym Linuxie).

Ansible uzywa deklaratywnych plikow YAML zwanych Playbook. Definiujesz pozadany stan serwera (zainstalowane pakiety, konfiguracja uslug, pliki) i Ansible doprowadza go do tego stanu. Co wazne, Ansible jest idempotentny - mozesz uruchomiac ten sam playbook wielokrotnie bez obawy o niespojnosci.

Dla Cloud Engineera Ansible to doskonale uzupelnienie Terraform. Terraform tworzy infrastrukture (EC2, VPC, RDS), a Ansible konfiguruje serwery (instaluje pakiety, ustawia uslugii, deployuje aplikacje). Razem daja pelna automatyzacje od zera do produkcji.

Ansible laczy sie z serwerami przez SSH, kopiuje tymczasowe moduily Python, wykonuje je i zwraca wyniki. Nie wymaga agenta po stronie serwera.

1

Parsowanie playbooka

Ansible wczytuje plik YAML, rozwiazuje zmienne, filtry Jinja2 i inventory. Buduje liste taskow do wykonania.

2

Polaczenie SSH

Ansible laczy sie z serwerami docelowymi przez SSH. Kontroluje polaczenia (forks) dla rownoleglego wykonania.

3

Przeslanie modulow

Tymczasowy skrypt Python z kodem modulu jest kopiowany na serwer docelowy i uruchamiany.

4

Wykonanie i raport

Modul sprawdza aktualny stan, wykonuje zmiany jesli potrzebne i zwraca status: changed, ok, failed lub skipped.

5

Cleanup

Tymczasowe pliki sa usuwane z serwera docelowego. Handlers sa uruchamiane na koncu, jesli zostaly notified.

Sprawdzone praktyki pracy z Ansible w srodowiskach AWS.

Uzywaj rol zamiast monolitycznych playbookow

ansible-galaxy init moja_rola tworzy strukture. Role sa testowalce, reuzywalne i latwe do utrzymania.

Poczatkujacy

Dynamic inventory z AWS

Zamiast recznej listy IP uzyj pluginu aws_ec2. Ansible automatycznie odkrywa instancje EC2 po tagach.

Zaawansowany

Ansible Vault do tajnych danych

ansible-vault encrypt szyfruje pliki z haslami i kluczami. Nigdy nie trzymaj secrets w plaintext.

Poczatkujacy

Testuj z Molecule

Molecule tworzy tymczasowe kontenery Docker, uruchamia role i weryfikuje wyniki. CI/CD dla Ansible.

Zaawansowany

Do czego sluzy Ansible?

01

Konfiguracja serwerow

Zainstaluj pakiety, skonfiguruj Nginx, ustaw firewalla, dodaj uzytkownikow - wszystko opisane w YAML i powtarzalne.

02

Wdrazanie aplikacji

Pobierz kod z Git, zainstaluj zaleznosci, zrestartuj usluge, wykonaj health check. Rolling deploy bez downtime.

03

Patching i aktualizacje

Zaktualizuj pakiety na 100 serwerach jednoczesnie z kontrola nad kolejnoscia i rollback w razie problemow.

04

Compliance i hardening

Wymus standardy bezpieczenstwa na wszystkich serwerach. CIS benchmarks, audyt konfiguracji, raportowanie niezgodnosci.

Co musisz wiedziec?

Playbook

Plik YAML definiujacy zadania do wykonania na grupie serwerow. Glowna jednostka automatyzacji w Ansible.

Inventory

Lista serwerow i ich grup. Moze byc statyczny plik INI/YAML lub dynamiczne inventory pobierajace hosty z AWS (plugin amazon.aws.aws_ec2).

Role

Zorganizowany zestaw taskow, handlers, templates i zmiennych. Umozliwia reuzywanie logiki miedzy projektami.

Module

Gotowe jednostki pracy: apt, yum, copy, template, service, ec2_instance, s3_object. Ponad 3000 modulow dostepnych.

Idempotentnosc

Wielokrotne uruchomienie tego samego playbooka daje ten sam rezultat. Ansible sprawdza aktualny stan przed wykonaniem zmian.

Handler

Task uruchamiany tylko gdy zostanie powiadomiony (notify). Typowo: restart Nginx po zmianie konfiguracji.

Przyklady Ansible CLI

Uruchomienie playbooka

Wykonaj playbook na serwerach z inventory

ansible-playbook -i inventory.yml site.yml

Ad-hoc komenda

Wykonaj pojedyncza komende na wszystkich serwerach

ansible all -i inventory.yml -m shell -a 'uptime'
ansible webservers -m apt -a 'name=nginx state=latest' --become

Dynamiczny inventory z AWS

Uzyj pluginu AWS EC2 do automatycznego odkrywania instancji

# aws_ec2.yml
plugin: amazon.aws.aws_ec2
regions:
  - eu-central-1
filters:
  tag:Environment: production

ansible-playbook -i aws_ec2.yml deploy.yml

Test playbooka (dry run)

Sprawdz co playbook zmieni bez wykonywania zmian

ansible-playbook site.yml --check --diff

Jak Ansible dziala z AWS?

Ansible + AWS

Ansible posiada kolekcje amazon.aws i community.aws z modulami do zarzadzania EC2, S3, RDS, VPC, IAM i innymi serwisami. Dynamic inventory automatycznie odkrywa instancje EC2. Ansible moze dzialac z AWS Systems Manager Session Manager zamiast SSH. AWX/Ansible Tower integruje sie z CloudWatch do logowania.

Quiz: Ansible

Sprawdz czy dobrze rozumiesz podstawy. Kliknij odpowiedz - feedback pojawi sie od razu.

Twoj wynik: 0 / 3

1. Czym wyroznia sie Ansible od Puppet i Chef?

2. Co to jest Playbook w Ansible?

3. Co oznacza idempotentnosc w kontekscie Ansible?

Chcesz poznac Ansible w praktyce?

Kurs Ansible jest w przygotowaniu. Zapisz sie na newsletter, zeby nie przegapic premiery. W miedzyczasie sprawdz darmowy kurs "AWS od podstaw".

Kurs AWS od podstaw Wszystkie technologie