This commit is contained in:
Madars Batraks 2025-09-02 18:20:47 +03:00
parent 926dff5e71
commit 19609edf42

View File

@ -16,7 +16,7 @@ pipx install --include-deps ansible
## Ansible struktūra (Vismaz šajā situācijā) ## Ansible struktūra (Vismaz šajā situācijā)
### `/inventory.yml` #### `/inventory.yml`
Inventory failā pieraksta (Un sagrupē!) visus aktuālos serverus, to IP adreses, Inventory failā pieraksta (Un sagrupē!) visus aktuālos serverus, to IP adreses,
kā arī, dažreiz aktuālos variables. kā arī, dažreiz aktuālos variables.
@ -25,16 +25,16 @@ Bet ir iespējams ka inventory fails var būt dots INI formātā.
Skat. https://docs.ansible.com/ansible/latest/inventory_guide/intro_inventory.html Skat. https://docs.ansible.com/ansible/latest/inventory_guide/intro_inventory.html
### `/roles/` #### `/roles/`
Šajā mapē nosaka atsevišķas serveru "lomas". Šajā mapē nosaka atsevišķas serveru "lomas".
Parasti visu sadala atsevišķās lomās Parasti visu sadala atsevišķās lomās
### `/main.yml` #### `/main.yml`
Faktiski šajā failā nosaka kādi roles attiecās uz kādiem hostiem. Faktiski šajā failā nosaka kādi roles attiecās uz kādiem hostiem.
Bet, ja nemaldos, var arī vienkārši pa taisno rakstīt taskus, kas, laikam, Bet, ja nemaldos, var arī vienkārši pa taisno rakstīt taskus, kas, laikam,
ir tas ko šī uzdevuma veidotāji vēlējās. ir tas ko šī uzdevuma veidotāji vēlējās.
### Tasks/Modules (`/roles/common/tasks/*`) #### Tasks/Modules (`/roles/common/tasks/*`)
Ansible playbook faili ir sadalīti *task*os. Ansible playbook faili ir sadalīti *task*os.
Katrā *task*ā var izsaukt vienu, vai vairākus moduļus (izmantojot `block`), Katrā *task*ā var izsaukt vienu, vai vairākus moduļus (izmantojot `block`),
@ -46,13 +46,13 @@ Piemēram `apt` modulis, lai ielādētu package, vai
Katram modulim ir kaut kādi savi iestatījumi, Katram modulim ir kaut kādi savi iestatījumi,
tāpēc ir svarīgi skatīties dokumentāciju moduļiem. tāpēc ir svarīgi skatīties dokumentāciju moduļiem.
### Handlers and Notify #### Handlers and Notify
Situācijā, kad izmaina kādu failu, iespējams vajag restartēt kādu servisu. Situācijā, kad izmaina kādu failu, iespējams vajag restartēt kādu servisu.
Šim nolūkam izmanto *handlers* un *notify*. Šim nolūkam izmanto *handlers* un *notify*.
#### Handlers ##### Handlers
Handleri, šajā situācijā, atrodās iekš `/roles/common/handlers/main.yml` Handleri, šajā situācijā, atrodās iekš `/roles/common/handlers/main.yml`
Šis fails ir strukturēts tā pat kā parasti playbook *task* faili, Šis fails ir strukturēts tā pat kā parasti playbook *task* faili,
@ -81,8 +81,26 @@ tad jāizmanto ansible `flush_handlers` task.
meta: flush_handlers meta: flush_handlers
``` ```
#### Vault
#### Tags
## Kā laizt ansible? ## Kā laizt ansible?
```bash Pamats kas vajadzīgs:
ansible-playbook ```sh
ansible-playbook -i <inventory file> <playbook file>
# Example:
# ansible-playbook -i inventory.yml main.yml
``` ```
Pēc tam var karināt klāt dažādus "karogus":
- `-u` - ar kādu lietotāju slēgsies klāt (ssh)
- `-k` - prasīs kādu SSH login paroli izmantot (ja vajag)
- `-K` - prasīs kādu SUDO paroli izmantot (ja vajadzīga)
- `--check`, `-C` - tā saucamais "dry-run", kur parāda tikai kas mainīsies,
un vai būs kādas kļūdas, bet reāli neko nemainīs (nestrādās ar dažiem moduļiem)
- `--diff`, `-D` - visos taskos parāda kas ir mainījies (piemēram, failiem `diff` formātā)