Sobes.tech
Intern

Šta je Ansible?

sobes.tech АИ

Одговор од АИ

Ansible je open-source alat za IT automatizaciju koji se koristi za upravljanje konfiguracijama, implementaciju aplikacija i orkestraciju zadataka.

Ključni koncepti:

  • Moduli: Jedinice koda koje izvršavaju specifične zadatke (instalacija paketa, kopiranje fajlova).
  • Playbook-ovi: YAML fajlovi koji opisuju sekvencu zadataka koji se izvršavaju na hostovima.
  • Inventar: Lista hostova (servera) kojima upravlja Ansible.

Primer playbook-a:

---
# Playbook za instalaciju paketa na hostovima

- name: Instaliraj Nginx
  hosts: webservers # Grupa hostova iz inventara
  become: true # Izvršiti kao root (sudo)

  tasks:
    - name: Uveri se da je Nginx instaliran
      apt: # Korišćenje modula apt za Debian/Ubuntu
        name: nginx
        state: present # Uveriti se da je paket prisutan
      # Primer komentara u kodu playbook-a
      # package:
      #  name: nginx
      #  state: present # Alternativa za CentOS/RHEL - korišćenje package modula

    - name: Pokreni Nginx servis
      service: # Korišćenje modula service
        name: nginx
        state: started # Uveri se da je servis pokrenut
        enabled: yes # Uveri se da se servis pokreće pri startu sistema

Glavne prednosti:

  • Bez agenata: Ne zahteva instalaciju agenata na upravljanim hostovima, koristi SSH.
  • Jednostavna sintaksa: Playbook-ovi su napisani u YAML-u, što ih čini lako čitljivim.
  • Idempotentnost: Višekratno izvršavanje playbook-a dovodi do istog krajnjeg stanja.
  • Proširivost: Veliki broj ugrađenih modula i mogućnost pisanja sopstvenih.

Primene:

  • Konfiguracija servera.
  • Implementacija aplikacija.
  • Orkestracija složenih radnih procesa.
  • Automatizacija rutinskih IT zadataka.