Ansible è uno strumento di configurazione e automazione gratuito e open source per sistemi operativi simili a UNIX. È scritto in Python e simile a Chef o Puppet, ma c'è una differenza e il vantaggio di Ansible è che non è necessario installare alcun agente sui nodi. Utilizza SSH per comunicare con i suoi nodi.
In questo articolo dimostreremo come installare e configurare Ansible in CentOS 7 e proveremo a gestirne i due nodi.
Server Ansible – ansible.linuxtechi.com ( 192.168.1.15 )
Nodi – 192.168.1.9, 192.168.1.10
Passaggio:1 Imposta il repository EPEL
Il pacchetto Ansible non è disponibile nei repository yum predefiniti, quindi abiliteremo il repository epel per CentOS 7 usando i comandi seguenti
[[email protected] ~]# yum install epel-release -y
Passaggio:2 Installa Anisble usando il comando yum
[[email protected] ~]# yum install ansible
Una volta completata l'installazione, controlla la versione ansible :
[[email protected] ~]# ansible --version
Fase:3 Imposta l'autenticazione SSH basata su chiavi con i nodi.
Genera chiavi sul server Ansible e copia la chiave pubblica sui nodi.
[email protected] ~]# ssh-keygen
Usa il comando ssh-copy-id per copiare la chiave pubblica del server Ansible nei suoi nodi.
Fase:4 Definisci i nodi o l'inventario dei server per Ansible.
File '/etc/ansible/hosts ' mantiene l'inventario dei server per Ansible.
[[email protected] ~]# vi /etc/ansible/hosts [test-servers] 192.168.1.9 192.168.1.10
Salva ed esci dal file.
Esempio di output del file hosts.
Passaggio:5 Ora prova a eseguire i comandi da Ansible Server.
Verifica la connettività di "server di test" o nodi ansible utilizzando ping
[[email protected] ~]# ansible -m ping 'test-servers'
Esecuzione dei comandi della shell:
Esempio:1 controlla il tempo di attività dei nodi Ansible
[[email protected] ~]# ansible -m command -a "uptime" 'test-servers'
Esempio:2 controlla la versione del kernel dei nodi
[[email protected] ~]# ansible -m command -a "uname -r" 'test-servers'
Esempio:3 aggiunta di un utente ai nodi
[[email protected] ~]# ansible -m command -a "useradd mark" 'test-servers' [[email protected] ~]# ansible -m command -a "grep mark /etc/passwd" 'test-servers'
Esempio:4 Reindirizzamento dell'output del comando a un file
[[email protected] ~]# ansible -m command -a "df -Th" 'test-servers' > /tmp/command-output.txt
Leggi anche: Come scaricare e utilizzare i ruoli di Ansible Galaxy in Ansible Playbook