GNU/Linux >> Linux Esercitazione >  >> Rocky Linux

Come installare Ansible (strumento di automazione) su Rocky Linux 8

Ansible è uno strumento di automazione gratuito e open source sponsorizzato da Red Hat. Utilizzando ansible possiamo gestire e configurare sistemi Linux e Windows senza alcuna installazione di agenti su di essi. Fondamentalmente funziona sul protocollo ssh e può configurare centinaia di server alla volta. Nella terminologia di ansible, il sistema su cui è installato Ansible è chiamato host/nodo di controllo e i sistemi gestiti da ansible sono chiamati host gestiti.

In questo post, discuteremo come installare l'ultima versione di Ansible su Rocky Linux 8.  Di seguito sono riportati i dettagli sulla configurazione del mio laboratorio Ansible:

  • Nodo di controllo – 192.168.1.170 – minimo Rocky Linux 8
  • Host gestito 1 – 192.168.1.121 – Ubuntu 20.04 LTS
  • Host gestito 2 – 192.168.1.122 – Rocky Linux 8
  • utente sysops con diritti di amministratore

Installa Ansible tramite il comando dnf

1) Aggiorna il sistema

Per aggiornare Rocky Linux 8, esegui sotto il comando dnf.

$ sudo dnf update -y

Una volta installati tutti gli aggiornamenti, riavvia il sistema una volta.

$ sudo reboot

2) Configura repository EPEL

Il pacchetto Ansible e le sue dipendenze non sono disponibili nei repository di pacchetti Rocky Linux 8 predefiniti. Quindi, per installare ansible tramite dnf , dobbiamo prima configurare il repository EPEL.

Esegui i seguenti comandi,

$ sudo dnf install -y epel-release

3) Installa Ansible con il comando dnf

Ora siamo pronti per installare ansible con il comando dnf, esegui

$ sudo dnf install ansible -y

Una volta che ansible e le sue dipendenze sono state installate correttamente. Verifica la sua versione eseguendo il seguente comando,

$ ansible --version

Installazione Ansible con pip

Se stai cercando l'ultima versione di Ansible, installa ansible con pip. Fare riferimento ai seguenti passaggi.

Nota:al momento della stesura di questo post, è disponibile ansible 4.3.0

1) Installa tutti gli aggiornamenti

Installa tutti gli aggiornamenti disponibili utilizzando il comando sottostante

$ sudo dnf update -y

Riavvia il sistema una volta dopo aver installato gli aggiornamenti,

$ reboot

2) Installa python 3.8 e altre dipendenze

Esegui i seguenti comandi per installare Python 3.8 e altre dipendenze

$ sudo  dnf module -y install python38
$ sudo alternatives --config python

Digita 3 e premi invio

3) Installa l'ultima versione di Ansible con pip

Esegui i seguenti comandi uno dopo l'altro per installare ansible,

$ sudo pip3 install setuptools-rust wheel
$ sudo pip3 install --upgrade pip
$ sudo python -m pip install ansible

L'output del comando python sopra vorrebbe di seguito:

L'output sopra conferma che Ansible è stato installato correttamente. Verifichiamo la versione di Ansible utilizzando il seguente comando ansible,

$ ansible --version

Verifica installazione Ansible

Ogni volta che Ansible viene installato con il comando dnf o yum, il file di configurazione predefinito "ansible.cfg" viene creato automaticamente nella cartella "/etc/ansible". Ma quando lo installiamo con pip, dobbiamo creare manualmente il suo file di configurazione.

Si consiglia di creare ansible.cfg per ogni progetto. A scopo dimostrativo, sto creando un progetto di automazione. Esegui seguendo il comando mkdir,

$ mkdir automation
$ cd automation

Crea il file ansible.cfg con il seguente contenuto,

$ vi ansible.cfg
[defaults]
inventory      = /home/sysops/auotmation/inventory
remote_user = sysops
host_key_checking = False

[privilege_escalation]
become=True
become_method=sudo
become_user=root
become_ask_pass=False

Salva ed esci dal file.

Ora crea un file di inventario nel progetto di automazione (cartella) con il seguente contenuto.

$ vi inventory
[prod]
192.168.1.121

[test]
192.168.1.122

Salva e chiudi il file.

Se hai notato attentamente il file ansible.cfg, ho usato remote_user come "sysops". Quindi creiamo chiavi ssh per l'utente sysops e condividiamolo tra gli host gestiti.

$ ssh-keygen

Condividi le chiavi SSH usando il comando ssh-copy-id,

$ ssh-copy-id [email protected]
$ ssh-copy-id [email protected]

Nota:esegui il comando seguente su ciascun host gestito per eseguire tutti i comandi senza richiedere la password,

# echo "sysops ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/sysops

Verifica la connettività dal nodo di controllo agli host gestiti utilizzando il modulo ping,

$ cd automation/
$ ansible -i inventory all -m ping

Creiamo un playbook di esempio (web.yaml) per installare nginx e php su host gestiti,

$ vi web.yaml
---
- name: Play to Packages
  hosts:
    - test
    - prod
  tasks:
  - name: Install php and nginx
    package:
      name:
        - php
        - nginx
      state: present

Salva e chiudi il file.

Esegui il playbook usando il comando sotto ansible-playbook,

$ ansible-playbook -i inventory web.yaml

L'output del comando sopra vorrebbe sotto

Ottimo, l'output sopra conferma che il playbook è stato eseguito correttamente e conferma anche che Ansible è installato correttamente.

Questo è tutto da questo post. Credo che questo post ti aiuti a installare e utilizzare Ansible su Rocky Linux 8. Condividi i tuoi commenti e le tue domande nella sezione commenti qui sotto.

Lettura consigliata:  Come utilizzare i gestori in Ansible Playbook


Rocky Linux
  1. Come installare Python 3.9 su Rocky Linux 8

  2. Come installare lo strumento di monitoraggio Centreon su Rocky Linux 8

  3. Come installare Rocky Linux 8.4

  4. Come installare Docker CE su Rocky Linux 8

  5. Come installare Redis su Rocky Linux 8

Come installare Python 3.9 su Rocky Linux

Come installare PHP 8 su Rocky Linux 8

Come installare Nginx su Rocky Linux 8

Come installare Node.js su Rocky Linux 8

Come installare Rust su Rocky Linux 8

Come installare AngularJS su Rocky Linux 8