Nou Generator de prompt AI — scrie prompturi mai bune pentru ChatGPT, Claude și Gemini →
ANSIBLE

Învață Ansible: comenzi explicate cu exemple

86 de comenzi 14 categorii Comunitate & Q&A

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ă

Unelte CLI Esențiale 5 comenzi

Directive de Playbook 13 comenzi

Module de Sistem și Pachete 9 comenzi

Module de Fișiere și Șabloane 8 comenzi

Module de Execuție și Securitate 11 comenzi

Containere și Baze de Date 7 comenzi

Filtre Jinja2 Native 9 comenzi

Lookups și Variabile Speciale 8 comenzi

Index complet de module, comenzi CLI și filtre Ansible

Consultați lista completă a uneltelor CLI (ansible-playbook, ansible-vault), a modulelor de sistem (apt, systemd, file, copy), a filtrelor Jinja2 și a celor mai bune practici pentru roluri și inventare:

Containere și Baze de Date

Modul / Comandă Descriere și Aplicabilitate Tehnică
mod-docker-compose Modulul community.docker.docker_compose în Ansible
mod-docker-container Modulul community.docker.docker_container în Ansible
mod-docker-image Modulul community.docker.docker_image în Ansible
mod-ec2-instance Modulul amazon.aws.ec2_instance în Ansible
mod-k8s Modulul kubernetes.core.k8s în Ansible
mod-mysql-db Modulul community.mysql.mysql_db în Ansible
mod-postgresql-db Modulul community.postgresql.postgresql_db în Ansible

Directive de Playbook

Modul / Comandă Descriere și Aplicabilitate Tehnică
dir-become Directiva become în Ansible
dir-block-rescue-always Directivele block, rescue și always în Ansible
dir-changed-failed-when Directivele changed_when și failed_when în Ansible
dir-delegate-to Directivele delegate_to și local_action în Ansible
dir-handlers-notify Directivele handlers și notify în Ansible
dir-hosts Directiva hosts în Ansible
dir-loop Directivele loop și with_items în Ansible
dir-register Directiva register în Ansible
dir-serial Directiva serial în Ansible
dir-tags Directiva tags în Ansible
dir-tasks Directiva tasks în Ansible
dir-vars Directivele vars și vars_files în Ansible
dir-when Directiva when în Ansible

Filtre Jinja2 Native

Modul / Comandă Descriere și Aplicabilitate Tehnică
filter-b64 Filtrele b64encode și b64decode în Ansible
filter-combine Filtrul combine în Ansible
filter-default Filtrul default în Ansible (Jinja2)
filter-ipaddr Filtrul ipaddr în Ansible (ansible.utils)
filter-json Filtrele to_json și from_json în Ansible
filter-map-select Filtrele map și select în Ansible
filter-password-hash Filtrul password_hash în Ansible
filter-regex Filtrele regex_replace și regex_search în Ansible
filter-yaml Filtrele to_yaml și from_yaml în Ansible

Fundamente & Inventar

Modul / Comandă Descriere și Aplicabilitate Tehnică
inventory-ad-hoc-commands Arhitectura Agentless SSH, Fișiere de Inventar (Hosts, Groups) și Comenzi Ad-Hoc

Lookups și Variabile Speciale

Modul / Comandă Descriere și Aplicabilitate Tehnică
lookup-env Plugin-ul lookup(‘env’) în Ansible
lookup-file Plugin-ul lookup(‘file’) în Ansible
lookup-password Plugin-ul lookup(‘password’) în Ansible
lookup-template Plugin-ul lookup(‘template’) în Ansible
var-env Variabila specială ansible_env în Ansible
var-facts Variabila specială ansible_facts în Ansible
var-groups Variabilele group_names și groups în Ansible
var-inventory-hostname Variabila specială inventory_hostname în Ansible

Module de Execuție și Securitate

Modul / Comandă Descriere și Aplicabilitate Tehnică
mod-assert Modulul ansible.builtin.assert în Ansible
mod-authorized-key Modulul ansible.posix.authorized_key în Ansible
mod-debug Modulul ansible.builtin.debug în Ansible
mod-fail Modulul ansible.builtin.fail în Ansible
mod-firewalld Modulul ansible.posix.firewalld în Ansible
mod-raw Modulul ansible.builtin.raw în Ansible
mod-script Modulul ansible.builtin.script în Ansible
mod-set-fact Modulul ansible.builtin.set_fact în Ansible
mod-ufw Modulul community.general.ufw în Ansible
mod-uri Modulul ansible.builtin.uri în Ansible
mod-wait-for Modulul ansible.builtin.wait_for în Ansible

Module de Fișiere și Șabloane

Modul / Comandă Descriere și Aplicabilitate Tehnică
mod-blockinfile Modulul ansible.builtin.blockinfile în Ansible
mod-fetch Modulul ansible.builtin.fetch în Ansible
mod-find Modulul ansible.builtin.find în Ansible
mod-get-url Modulul ansible.builtin.get_url în Ansible
mod-lineinfile Modulul ansible.builtin.lineinfile în Ansible
mod-stat Modulul ansible.builtin.stat în Ansible
mod-synchronize Modulul ansible.posix.synchronize în Ansible
mod-unarchive Modulul ansible.builtin.unarchive în Ansible

Module de Sistem și Pachete

Modul / Comandă Descriere și Aplicabilitate Tehnică
mod-dnf Modulul ansible.builtin.dnf în Ansible
mod-group Modulul ansible.builtin.group în Ansible
mod-hostname Modulul ansible.builtin.hostname în Ansible
mod-mount Modulul ansible.builtin.mount în Ansible
mod-package Modulul ansible.builtin.package în Ansible
mod-pip Modulul ansible.builtin.pip în Ansible
mod-reboot Modulul ansible.builtin.reboot în Ansible
mod-service Modulul ansible.builtin.service în Ansible
mod-sysctl Modulul ansible.builtin.sysctl în Ansible

Playbooks & Task-uri

Modul / Comandă Descriere și Aplicabilitate Tehnică
playbooks-tasks-handlers Sintaxă YAML, Task-uri Idempotente, Handlers și Notificări la Schimbări

Roluri & Modularitate

Modul / Comandă Descriere și Aplicabilitate Tehnică
roles-galaxy-modular-design Crearea de Roluri Ansible, Variabile (vars vs defaults) și Ansible Galaxy

Securitate & Ansible Vault

Modul / Comandă Descriere și Aplicabilitate Tehnică
vault-security-secrets Criptarea Fișierelor cu Ansible Vault și Managementul Parolelor

Unelte CLI Esențiale

Modul / Comandă Descriere și Aplicabilitate Tehnică
config-cli Comanda ansible-config în Ansible
doc-cli Comanda ansible-doc în Ansible
galaxy-cli Comanda ansible-galaxy în Ansible
inventory-cli Comanda ansible-inventory în Ansible
lint-cli Comanda ansible-lint în Ansible

cli

Modul / Comandă Descriere și Aplicabilitate Tehnică
adhoc-cli ansible (Ad-Hoc)
playbook-cli ansible-playbook
vault-cli ansible-vault

modules

Modul / Comandă Descriere și Aplicabilitate Tehnică
apt ansible.builtin.apt
command-shell ansible.builtin.command & shell
copy ansible.builtin.copy
cron ansible.builtin.cron
file ansible.builtin.file
git ansible.builtin.git
systemd ansible.builtin.systemd
template ansible.builtin.template
user ansible.builtin.user
Comunitate & Schimb de cunoștințe

Discuții, Întrebări & Coduri Ansible

Ai o întrebare legată de Ansible, cauți o soluție sau vrei să împărtășești un fragment util de cod? Trimite mai jos contribuția ta.

💬

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.

Comunitate Adaugă o întrebare sau distribuie un cod

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.