Ansible è un set di strumenti di automazione che funziona estremamente bene con server basati su Linux, ma è anche compatibile con altri server cloud, come Windows e VMware (solo per citarne alcuni). Ansible è un'applicazione agentless che richiede solo Python per funzionare, che è un'applicazione predefinita in quasi tutte le distribuzioni Linux.
Ansible è ottimo per automatizzare le attività amministrative e creare un'infrastruttura statale desiderata (assicurando che tutti i server siano gli stessi).
Ansible funziona utilizzando il protocollo SSH, quindi non hai bisogno di alcun software o agente su server remoti. È un'ottima alternativa ad altri strumenti di automazione, inclusi Chef e Puppet.
In questo articolo, ti mostreremo come installare e configurare Ansible sul server Ubuntu 18.04.
Prerequisiti
- Un nuovo VPS Ubuntu 18.04 sulla piattaforma Atlantic.Net Cloud.
- Preferibilmente, avrai alcuni server di test Linux (Ubuntu o Debian).
- Una password di root configurata sul tuo server.
Fase 1:crea un server cloud Atlantic.Net
Per prima cosa, accedi al tuo server Atlantic.Net Cloud. Crea un nuovo server, scegliendo Ubuntu 18.04 come sistema operativo con almeno 1GB di RAM. Collegati al tuo Cloud Server tramite SSH e accedi utilizzando le credenziali evidenziate in alto nella pagina.
Dopo aver effettuato l'accesso al tuo server Ubuntu 18.04, esegui il comando seguente per aggiornare il tuo sistema di base con gli ultimi pacchetti disponibili.
apt-get update -y
Passaggio 2:configurazione dell'autenticazione basata su chiave SSH
Ansible utilizza SSH per recuperare informazioni dagli host remoti. Dovrai configurare l'autenticazione basata su chiave per gli host remoti in modo che il server Ansible possa comunicare con gli host remoti senza inserire la password SSH.
Innanzitutto, genera una chiave SSH sul server Ansible con il seguente comando:
ssh-keygen -t rsa
Dovresti ottenere il seguente output:
Generazione di una coppia di chiavi RSA pubblica/privata.Inserisci il file in cui salvare la chiave (/root/.ssh/id_rsa):Created directory '/root/.ssh'.Enter passphrase (vuoto per nessuna passphrase):Inserisci lo stesso passphrase di nuovo:La tua identificazione è stata salvata in /root/.ssh/id_rsa.La tua chiave pubblica è stata salvata in /root/.ssh/id_rsa.pub.L'impronta della chiave è:SHA256:HzUXrR+ltn9w0mwz5+hKeFzEOPcJrLTKi9C72Y7elAE example@unixlinux. onlineL'immagine randomart della chiave è:+---[RSA 2048]----+| .. || .o .o|| E .=o=o.|| . ..o*=o.|| S..o ..*o|| . ..++ .+oB|| . . =o + O+|| . O.o . +|| .Bo= .o. .|+----[SHA256]-----+
Quindi, copia la chiave generata sugli host remoti con il seguente comando:
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
Quindi, controlla l'accesso senza password SSH con il seguente comando:
esempio [email protected]
Passaggio 3:installazione di Ansible
Puoi aggiungere Ansible PPA con il seguente comando:
apt-add-repository ppa:ansible/ansible
Dopo aver aggiunto Ansible PPA, aggiorna il repository e installa Ansible con il seguente comando:
apt-get update -yapt-get install ansible -y
Una volta completata l'installazione, puoi procedere al passaggio successivo.
Fase 4:configurare gli host Ansible
Successivamente, dovrai configurare il tuo file hosts Ansible per definire i server remoti. Puoi modificare /etc/ansible/hosts con il seguente comando:
nano /etc/ansible/hosts
Puoi aggiungere host singoli o gruppi di host, come mostrato di seguito:
[webservers]webserver1 ansible_ssh_host=192.168.1.2 ansible_ssh_port=22 ansible_ssh_user=rootwebserver2 ansible_ssh_host=192.168.1.3 ansible_ssh_port=22 ansible_ssh_user=root[databaseservers]dbserver1 ansible_ssh_host=192.168.1.4 ansible_ssh_port=2 ansible_ssh_port=2Salva e chiudi il file quando hai finito.
Nel file sopra, webserver1 e webserver2 vengono utilizzati per definire un indirizzo IP del server web, una porta SSH e un nome utente, mentre dbserver1 viene utilizzato per definire un indirizzo IP del server di database, una porta SSH e un nome utente.
Quindi, disabilita l'avviso Python modificando il file /etc/ansible/ansible.cfg:
nano /etc/ansible/ansible.cfgAggiungi la seguente riga sotto [predefiniti]:
deprecation_warnings=FalsoSalva e chiudi il file quando hai finito.
A questo punto, il tuo server Ansible è pronto per gestire il tuo server web e database server.
Fase 5 – Verifica Ansible
Dopo aver configurato il server Ansible, è il momento di testare la connettività di tutti gli host Ansible.
Sul server Ansible, esegui il comando seguente per testare la connettività di tutti gli host:
ansible -m ping allSe tutto va bene, dovresti ottenere il seguente output:
Per testare la connettività di host specifici come dbserver1, esegui il comando seguente:
ansible -m ping dbserver1Dovresti vedere il seguente output:
Per testare la connettività di un gruppo di host come [server web], esegui il comando seguente:
server web ansible -m pingDovresti vedere il seguente output:
Fase 6 – Comandi avanzati Ansible
Puoi eseguire qualsiasi comando su un server remoto tramite SSH dal server Ansible.
Ad esempio, per controllare l'utilizzo del disco di tutti gli host Ansible, esegui il comando seguente:
ansible -m shell -a "df -h" allQuesto comando eseguirà il comando "df -h" su tutti gli host remoti e darà il seguente output:
Puoi elencare tutti i database sugli host dbserver1 con il seguente comando:
ansible -m shell -a "mysql -u root [email protected] -e 'mostra database;'" dbserver1Dovresti vedere il seguente output:
Conclusione
Nel tutorial sopra, abbiamo imparato come installare Ansible sul server Ubuntu 18.04. Abbiamo anche imparato a gestire più server con Ansible. Ora puoi gestire facilmente l'intera infrastruttura con Ansible:provalo con VPS Hosting di Atlantic.Net!