| K1 |
Ansible alused: idempotentsus ja esimene playbook |
halb skript vs soovitud olek; inventar, ad-hoc, faktid; playbook (user, package, copy, service); changed=0; --check --diff; drift; SSH-võtmed; üks playbook kolmele masinale |
admin.yml, SSH turvamine, paketid, raport, cron, drift; oma playbook |
| K2 |
Ansible sügavamalt: kolmekihiline rakendus |
Pinu: vm1 nginx koormusjaotur + PostgreSQL, vm2 ja vm3 rakendus. Grupid lb/app/db; group_vars ja host_vars, eelistusjärjekord; playbooki ülesehitus: mitu play'd, task-failid (import_tasks, include_tasks), handlerid, Jinja2 mall (hostvars), loop, when, register; rollid ja site.yml. Iga sammu juures: kontroll enne käivitamist ja ad-hoc käsk pärast. Vead, mille leiad ja parandad: 502 (SELinux, tulemüür), vale port host_vars-ist, vigane mall (validate), üks rakendus maas. Lisaülesanne: andmebaasi parool Vaulti. Tõend: curl vastab vaheldumisi vm2 ja vm3, üks rakendus maas ja leht töötab edasi |
kolmas rakendusserver ainult inventari kaudu; uuendus masinhaaval (serial), delegate_to/run_once, block/rescue, requirements.yml; istutatud vigade otsing |
| K3 |
Konteinerid: Podman, Docker ja Compose |
lühike Dockeri kordus (image, konteiner, Dockerfile, volume, võrk); Podman: AlmaLinuxi vaikimisi tööriist, sama CLI, ilma deemonita ja ilma root'ita, pod'id; Docker vs Podman: millal kumb; Compose (docker compose / podman compose): depends_on, healthcheck, .env; Ansible paigaldab stacki |
kolme teenusega stack (rakendus + andmebaas + reverse proxy) Ansible rolliga VM-ile, teine jooks changed=0 |
| K4 |
CI/CD: automaatne kontroll, ehitus ja tarne |
GitHub Actions (trigger, job, step, runner); ansible-lint, yamllint, saladuste otsing; punase pipeline'i lugemine; image GHCR-i; secrets, needs; branch protection |
pipeline K3 stackile: lint → ehitus → GHCR; tarne VM-ile Ansible'iga |
| K5 |
Terraform (OpenTofu) ja Kubernetes |
init → plan → apply → destroy; state ja drift; muutujad, outputs; k3s, kubectl; Pod, Deployment, Service; skaleerimine, rolling update; ConfigMap, Secret |
lõputöö |