GNU/Linux >> Linux Esercitazione >  >> Debian

Come installare Ansible (strumento di automazione) su Debian 10 (Buster)

Oggigiorno nel campo IT, l'automazione è l'argomento caldo e ogni organizzazione sta iniziando ad adottare gli strumenti di automazione come Puppet , Abile , Cuoco , CF Engine , caposquadra e Katello . Tra questi strumenti, Ansible è la prima scelta di quasi tutte le organizzazioni IT per gestire sistemi simili a UNIX e Linux. In questo articolo dimostreremo come installare e utilizzare lo strumento ansible su Debian 10 Server.

Dettagli del mio laboratorio:

  • Debian 10 – Ansible Server/nodo controller – 192.168.1.14
  • CentOS 7 – Ansible Host (server Web) – 192.168.1.15
  • CentOS 7 – Ansible Host (server DB) – 192.169.1.17

Dimostreremo anche come gestire i server Linux utilizzando Ansible Server

Installazione Ansible su Debian 10 Server

Suppongo che nel tuo sistema Debian 10 tu abbia un utente che ha i privilegi di root o i diritti sudo. Nella mia configurazione ho un utente locale chiamato "pkumar" con diritti sudo.

I pacchetti Ansible 2.7 sono disponibili nei repository Debian 10 predefiniti, eseguire i seguenti comandi dalla riga di comando per installare Ansible,

$ sudo apt update
$ sudo apt install ansible -y

Esegui il comando seguente per verificare la versione ansible,

[email protected]:~$ sudo ansible --version

Per installare l'ultima versione di Ansible 2.8, dobbiamo prima impostare i repository Ansible.

Esegui i seguenti comandi uno dopo l'altro,

$ echo "deb http://ppa.launchpad.net/ansible/ansible/ubuntu bionic main" \ 
| sudo tee -a /etc/apt/sources.list
$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 93C4A3FD7BB9C367
$ sudo apt update
$ sudo apt install ansible -y
$ sudo ansible --version

Gestione dei server Linux utilizzando Ansible

Fare riferimento ai seguenti passaggi per gestire server simili a Linux utilizzando il nodo controller Ansible,

Passaggio:1) Scambia le chiavi SSH tra Ansible Server e i suoi host

Genera le chiavi ssh dal server ansible e condividi le chiavi tra gli host ansible

$ sudo -i
# ssh-keygen
# ssh-copy-id [email protected]
# ssh-copy-id [email protected]

Passaggio:2) Crea il file di inventario di Ansible Hosts

Quando ansible viene installato, il file /etc/hosts viene creato automaticamente, in questo file possiamo menzionare gli host ansible o i suoi client. Possiamo anche creare il nostro file di inventario host ansible nella nostra home directory,

Ulteriori informazioni su:Come gestire l'inventario di host statici e dinamici Ansible

Esegui il comando seguente per creare l'inventario degli host ansible nella nostra home directory

[email protected]:~$ vi $HOME/hosts
[Web]
192.168.1.15

[DB]
192.168.1.17

Salva ed esci dal file

Nota: Nel file hosts di cui sopra possiamo anche utilizzare il nome host o FQDN, ma per questo dobbiamo assicurarci che gli host ansible siano raggiungibili e accessibili tramite hostname o fqdn.

Passaggio:3) Testare e utilizzare i moduli ansible predefiniti

Ansible viene fornito con molti moduli predefiniti che possono essere utilizzati nel comando ansible, gli esempi sono mostrati di seguito,

Sintassi:

# ansible -i -m

Dove:

  • -i ~/host :contiene l'elenco degli host disponibili
  • -m: dopo -m specifica il modulo ansible come ping e shell
  • : Host Ansible in cui vogliamo eseguire i moduli ansible

Verifica la connettività ping utilizzando il modulo ping ansible

$ sudo ansible -i ~/hosts -m ping all
$ sudo ansible -i ~/hosts -m ping Web
$ sudo ansible -i ~/hosts -m ping DB

L'output dei comandi precedenti sarebbe qualcosa di simile al seguente:

Esecuzione di comandi shell su host ansible utilizzando il modulo shell

Sintassi: # ansible -i -m shell -a  

Esempio:

[email protected]:~$ sudo ansible -i ~/hosts -m shell -a "uptime" all
192.168.1.17 | CHANGED | rc=0 >>
 01:48:34 up  1:07,  3 users,  load average: 0.00, 0.01, 0.05

192.168.1.15 | CHANGED | rc=0 >>
 01:48:39 up  1:07,  3 users,  load average: 0.00, 0.01, 0.04

[email protected]:~$
[email protected]:~$ sudo ansible -i ~/hosts -m shell -a "uptime ; \
 df -Th / ; uname -r" Web
192.168.1.15 | CHANGED | rc=0 >>
 01:52:03 up  1:11,  3 users,  load average: 0.12, 0.07, 0.06
Filesystem              Type  Size  Used Avail Use% Mounted on
/dev/mapper/centos-root xfs    13G 1017M   12G   8% /
3.10.0-327.el7.x86_64

[email protected]:~$

L'output dei comandi di cui sopra conferma che abbiamo impostato correttamente il nodo controller ansible

Creiamo un esempio di playbook di installazione di NGINX, di seguito il playbook installerà nginx su tutti i server che fanno parte del gruppo host Web, ma nel mio caso ho una macchina centos 7 in questo gruppo host.

[email protected]:~$ vi nginx.yaml
---
- hosts: Web
  tasks:
    - name: Install latest version of nginx on CentOS 7 Server
      yum: name=nginx state=latest
    - name: start nginx
      service:
          name: nginx
          state: started

Ora esegui il playbook usando il seguente comando,

[email protected]:~$ sudo ansible-playbook -i ~/hosts  nginx.yaml

l'output del comando precedente sarebbe qualcosa di simile al seguente,

Ciò conferma che il playbook di Ansible è stato eseguito correttamente, questo è tutto dall'articolo, condividi il tuo feedback e commenti.


Debian
  1. Come installare VirtualBox 6.1 su Debian 10 (Buster)

  2. Come installare ownCloud su Debian 10 (Buster)

  3. Come installare WildFly su Debian 10 Buster

  4. Come installare R su Debian 10 Buster

  5. Come installare lo stack LEMP su Debian 10 Buster

Come installare Tomcat su Debian 10 Buster

Come installare Vagrant su Debian 10 Buster

Come installare Plex Media Server su Debian 10 Buster

Come installare Odoo su Debian 10 Buster

Come installare Vai su Debian 11

Come installare Samba su Debian 10 Buster