Titolo del modulo: dgt_devops06 – Introduzione ad Ansible
Descrizione del modulo:
“dgt_devops06 – Introduzione ad Ansible” è un’introduzione al configuration management con Ansible. Fornisce le conoscenze di base necessarie per capire come si gestisce e si automatizza un’infrastruttura IT, e la capacità pratica di guidare quell’automazione in linguaggio naturale.
In questo modulo non scriverete mai un playbook a mano. Una volta compresi inventory, moduli, idempotenza e ruoli, descriverete alla macchina lo stato che volete raggiungere sui vostri server (“Apache installato, in esecuzione e abilitato su tutti i web server”), le lascerete generare ed eseguire il playbook, e poi leggerete lo YAML riga per riga per verificare che faccia esattamente ciò che avete chiesto, né più né meno, e che una seconda esecuzione non cambi nulla.
Obiettivi di apprendimento principali:
- Comprendere il configuration management:
- Esplorare i concetti fondamentali del configuration management, inclusa la sua importanza per mantenere coerenza, affidabilità ed efficienza negli ambienti IT.
-
Capire come Ansible si colloca nel panorama più ampio degli strumenti di configuration management.
-
Principi di idempotenza:
- Conoscere il principio di idempotenza e perché è cruciale per l’automazione e la gestione delle configurazioni.
-
Capire come Ansible garantisce che esecuzioni ripetute di un task producano lo stesso risultato, evitando modifiche indesiderate.
-
Introduzione ad Ansible:
- Familiarizzare con l’architettura di Ansible, incluso il suo design agentless e l’uso di playbook basati su YAML.
-
Conoscere moduli, inventory e ruoli di Ansible, e come contribuiscono a strategie di automazione efficaci.
-
Playbook in linguaggio naturale:
- Ottenere il vostro primo playbook Ansible descrivendo alla macchina, in linguaggio semplice, un obiettivo reale, attraverso esercitazioni guidate.
-
Esercitarsi a verificare che i task prodotti siano idempotenti e rispettino un buon design dei playbook, chiedendo correzioni quando non lo sono.
-
Concetti avanzati:
- Studiare argomenti più avanzati come inventory dinamici, moduli personalizzati e integrazione di Ansible con le pipeline CI/CD.
- Esplorare come Ansible gestisce la configurazione su ambienti e piattaforme diversi, e come esprimere chiaramente queste differenze quando date istruzioni alla macchina.
Contenuti del modulo:
- Modulo 1: Introduzione al configuration management
- Panoramica dell’evoluzione e dei benefici del configuration management.
-
Casi di studio di implementazioni reali.
-
Modulo 2: L’idempotenza nell’automazione
- Fondamenti teorici e implicazioni pratiche delle operazioni idempotenti.
-
Esempi di task non idempotenti e del loro impatto.
-
Modulo 3: Primi passi con Ansible
- Chiedere alla macchina di installare e configurare l’ambiente Ansible, e verificare ciò che ha fatto.
-
Panoramica dei componenti chiave: playbook, moduli, ruoli e inventory.
-
Modulo 4: Il vostro primo playbook, descritto a parole
- Guida passo passo per descrivere alla macchina un playbook di base e revisionare il risultato.
-
Esempio di ciò che la macchina produce, e che dovete saper leggere e verificare:
“`yaml
- name: Ensure Apache is installed and running
hosts: webservers
become: yes
tasks:
– name: Install Apache
ansible.builtin.yum:
name: httpd
state: present- name: Start Apache service ansible.builtin.service: name: httpd state: started enabled: yes“`
- name: Ensure Apache is installed and running
-
Modulo 5: Best practice e tecniche avanzate
- Strategie per ottimizzare le prestazioni dei playbook, e come richiederle con precisione.
- Consigli per mantenere l’automazione scalabile e sicura, e per individuare scelte rischiose in ciò che la macchina propone.
Destinatari:
Questo modulo è rivolto a professionisti IT, amministratori di sistema, DevOps engineer e chiunque sia interessato ad automatizzare la gestione dell’infrastruttura con Ansible. Una conoscenza pregressa degli ambienti Linux è utile ma non obbligatoria: ciò che conta è comprendere i concetti abbastanza bene da dare istruzioni precise e valutarne i risultati.
Gli studenti possono caricare i propri esercizi nel Progetto Git dell’Academy DevOps & SRE. Per questo modulo, create una cartella con il vostro username come nome nella seguente sottocartella: https://github.com/Garanti-Del-Talento/gdt_academy
