ANSIBLE

Învață Ansible: comenzi explicate cu exemple

16 comenzi 6 categorii

Ansible (menținut de Red Hat) este cel mai simplu, flexibil și puternic instrument de automatizare IT, management al configurațiilor (Configuration Management) și orchestrare multi-nod. Spre deosebire de unelte tradiționale precum Puppet sau Chef care impuneau instalarea și menținerea unor agenți software complecși pe fiecare mașină țintă, Ansible este complet Agentless (Fără Agenți): comunică cu serverele Linux prin protocolul nativ SSH și cu serverele Windows prin WinRM, necesitând doar Python pe mașina țintă.

Ansible funcționează pe principiul fundamental al Idempotenței: un playbook poate fi rulat de 100 de ori la rând, iar Ansible va efectua modificări doar dacă starea curentă a serverului diferă de starea dorită descrisă în fișierele YAML. Această caracteristică garantează stabilitatea absolută a mediilor de producție.

Arhitectura Agentless a Ansible
# Nodul de Control (Laptop sau Server CI/CD cu Ansible)
# ┌─────────────────────────────────────────────────────────────┐
# │ Fișier Inventar: [webservers], [databases]                  │
# │ Playbook YAML: "Asigură instalarea Nginx și configurarea"   │
# └────────────────────────────┬────────────────────────────────┘
#                              │ (Conexiune standard SSH pe portul 22)
#              ┌───────────────┴───────────────┐
#              ▼                               ▼
# ┌─────────────────────────┐     ┌─────────────────────────┐
# │ Server Linux Țintă #1   │     │ Server Linux Țintă #2   │
# │ (FĂRĂ agent instalat!   │     │ (FĂRĂ agent instalat!   │
# │  Doar OpenSSH + Python) │     │  Doar OpenSSH + Python) │
# └─────────────────────────┘     └─────────────────────────┘

Pilonii Tehnologici ai Ansible

Concept Ansible Descriere Tehnică Rol în Administrarea Sistemelor
Inventar (Inventory) Fișiere INI sau YAML care listează adresele IP ale serverelor organizate pe grupuri logice. Permite țintirea precisă a comenzilor către un anumit cluster (ex: doar serverele de bază de date).
Module Integrate Peste 3.000 de module specializate (apt, systemd, file, git, docker_container). Execută acțiuni discrete cu idempotență garantată, fără a scrie scripturi Bash fragile.
Playbooks Fișiere de orchestrare scrise în YAML ce descriu succesiunea de task-uri și roluri. Documentează întreaga configurație a serverelor ca un cod executabil și versionabil.
Ansible Vault Mecanism integrat de criptare simetrică AES-256 a fișierelor de variabile și parole. Permite comiterea în siguranță a parolelor și cheilor private în depozitele Git.
Playbook Simplu: Instalare și Activare Server Web Nginx
---
- name: Configurare Server Web de Producție
  hosts: webservers
  become: true # Rulează ca root (sudo)

  tasks:
    - name: Asigură prezența pachetului Nginx
      ansible.builtin.apt:
        name: nginx
        state: present
        update_cache: true

    - name: Copiază pagina principală personalizată
      ansible.builtin.copy:
        dest: /var/www/html/index.html
        content: "<h1>Server administrat automat prin Ansible</h1>"
        mode: '0644'
      notify: Repornește Nginx

    - name: Asigură că serviciul Nginx rulează și pornește la boot
      ansible.builtin.systemd:
        name: nginx
        state: started
        enabled: true

  handlers:
    - name: Repornește Nginx
      ansible.builtin.systemd:
        name: nginx
        state: reloaded

cli 3 comenzi

Fundamente & Inventar 1 comandă

Playbooks & Task-uri 1 comandă

Roluri & Modularitate 1 comandă

modules 9 comenzi

Securitate & Ansible Vault 1 comandă