Junior
Kui aktiivselt pidite kirjutama rolle ja playbooke Ansible jaoks konfiguratsiooniks?
sobes.tech AI
Vastus AI-lt
Väga aktiivne. Peamine ülesanne oli tagada serverite ühtne konfiguratsioon ja rakenduste automatiseeritud juurutamine.
Kasutati nii valmis rolle Ansible Galaxy'st kui ka oma, projektide vajadustele vastavalt välja töötatud rolle. Playbook'e kasutati ülesannete orkestreerimiseks, sõltuvuste haldamiseks rollide vahel ja täitmise järjekorra määramiseks.
Näited ülesannetest, mida lahendati Ansible'iga:
- Veebiserverite (NGINX, Apache) paigaldamine ja konfiguratsioon:
- Andmebaaside (PostgreSQL, MySQL) konfiguratsioon:
- Mikroteenuste juurutamine:
- Kasutajate ja gruppide haldamine:
- Tulemüüride seadistamine:
- Pakettide ja sõltuvuste haldamine:
- Rakenduste kogumine ja levitamine:
Rollide ja playbook'ide kirjutamisel kasutati aktiivselt:
- Jinja2 mallisüsteemi — dünaamiliste konfiguratsioonifailide loomine:
- Handler'eid — tegevuste teostamine pärast konfiguratsiooni muutmist:
- Variabels (group_vars, host_vars) — spetsiifiliste parameetrite haldamine:
- Lookup plugin'eid — teabe saamine erinevatest allikatest:
- Tingimusi — ülesannete täitmine sõltuvalt tingimustest:
Näide lihtsast rolli struktuurist:
// handlers/main.yml
---
# minu_rolli handlerid
// tasks/main.yml
---
# minu_rolli ülesanded
ез
Näide lihtsast playbook'ist:
// playbook.yml
---
- Nimi: Veebiserveri konfiguratsioon
hostid: webservers
become: jah # Ülesannete täitmine superkasutaja õigustes
rollid:
- my_web_server_role
Töötades versioonikontrollisüsteemidega, pull-request'ide ja koodide ülevaatusega Ansible'iga. Samuti kasutati rollide testimise tööriistu, näiteks Molecule:
| Ansible komponent | Kasutus |
|---|---|
| Rollid | Koodi organiseerimine ja korduvkasutus |
| Playbook'id | Ülesannete ja rollide orkestreerimine |
| Variabels | Konfiguratsiooni deklaratiivne haldamine |
| Handler'id | Muudatustele reageerimine |
| Jinja2 mallid | Failide dünaamiline loomine |