Sei un principiante di Ansible? Questa guida fornirà una breve introduzione ad Ansible e ad altri importanti fattori della piattaforma di automazione Ansible, tra cui l'architettura, l'inventario, i moduli e i playbook di Ansible.
Se sei una persona che sta cercando di capire cos'è ansible e quali sono le sue caratteristiche principali, allora questo articolo fa per te.
Introduzione
Sei mai stato nella posizione di distribuire più risorse manualmente nel tuo ambiente professionale/personale?
Quando dico "risorse", può essere qualsiasi cosa a partire da server, database, dispositivi di rete, server Web, ecc. Conosci il dolore di fare tutto manualmente per più risorse.
In qualità di amministratore di sistema, puoi tranquillamente dire che quei giorni sono lontani. L'invenzione degli strumenti di automazione ha semplificato la vita di tutti gli amministratori di sistema.
Non solo l'amministrazione del sistema, ma anche gli strumenti di automazione vengono utilizzati dagli sviluppatori per automatizzare anche le loro pipeline di distribuzione. Uno di questi strumenti di automazione è Ansible!
Oggi ti guiderò attraverso ciò che è ansible e i componenti principali coinvolti in ansible.
Cos'è Ansible?
Abile è uno strumento di automazione che può essere utilizzato in qualsiasi area del tuo stack tecnologico come rete, database, server, implementazioni di applicazioni, container, sicurezza, cloud, ecc.
Svolge un ruolo importante nelle aree della gestione della configurazione, dell'infrastruttura come codice, dell'orchestrazione.
Ansible è scritto in Python , quindi se sei uno sviluppatore Python, creare moduli personalizzati in Ansible è facile.
Ansible è stato originariamente creato da Michael DeHaan e successivamente acquisito da Redhat nel 2015. Ansible è open source e Redhat offre anche una versione commerciale di ansible.
Architettura Ansible
Il primo passo nell'apprendimento di ansible è comprendere l'architettura Ansible.
Una combinazione di componenti come Ansible Engine, Inventory, Playbook, ecc., costituisce l'architettura ansible.
Ecco l'illustrazione grafica di come funziona Ansible:
Ansible segue l'architettura senza agenti . Non esiste alcun software o processo client speciale che deve essere installato su tutte le macchine client per poter comunicare e lavorare.
Ansible utilizza ssh
protocollo per comunicare con tutti i nodi client e utilizza qualsiasi porta ssh
è in ascolto sui nodi client. Anche questo è personalizzabile. In questo modo non è necessario aprire porte speciali dedicate ad ansible.
Ci sono due tipi di nodi in ansible. Se ti stai chiedendo quale sia il termine "node"
si riferisce a? È solo un server o stazione di lavoro .
- Nodo principale/controllore - Nodo in cui installerai il software ansible.
- Nodi gestiti - Nodi che saranno gestiti da Ansible.
Puoi chiamare i nodi come nodi master e slave ma attenersi al gergo ansible che è la migliore pratica.
Da questo punto, farò riferimento al nodo principale come nodo controller e nodi slave come nodi gestiti in tutto l'articolo.
Inventario Ansible
L'inventario è il luogo in cui fornirai le informazioni sull'host/IP del nodo gestito ad ansible. Il file di inventario sarà in formato INI per impostazione predefinita e supporta anche YAML
formato.
Quando invii ansible-playbook o comandi Adhoc, ansible engine analizzerà questo file di inventario e otterrà un elenco di host con cui desidera lavorare.
Moduli Ansible
I moduli sono programmi scritti in Python per un compito particolare. Quando esegui playbook o comandi Adhoc, ansible invierà questo programma a tutti i nodi gestiti.
Prendiamo l'apt
modulo per esempio. Il apt
modulo è per la gestione dei pacchetti nei sistemi basati su Debian e Ubuntu.
Se invii un playbook per installare i pacchetti in cinque nodi gestiti, allora apt
il modulo verrà copiato su tutti i nodi gestiti e su apt
il programma verrà eseguito.
Puoi anche creare i tuoi moduli, ma la maggior parte delle volte ci saranno moduli disponibili per soddisfare le tue esigenze.
Playbook Ansible
I playbook Ansible sono progetti per il tuo compito. I playbook sono scritti in YAML
formato. Creerai attività diverse e Ansible eseguirà queste attività nei nodi gestiti.
Conclusione
Questo è solo un breve articolo introduttivo per avere un'idea di cosa sia Ansible e la sua architettura. Per maggiori dettagli, ti consiglio di consultare i documenti ufficiali forniti alla fine.
Nei nostri prossimi articoli, approfondiremo come configurare e utilizzare Ansible in Linux.
Leggi il prossimo:
- Installa e configura Ansible in Linux
- Configurazione automatizzata di Ansible Lab con Vagrant e Virtualbox in Linux
- Inventario Ansible e file di configurazione