Ansible stesso è scritto in Python e ha una curva di apprendimento abbastanza minima. Ansible segue una semplice procedura di installazione e non dipende da alcun software aggiuntivo, server o demone client. Gestisce i nodi su SSH ed è parallelo per impostazione predefinita.
In questa guida impareremo come installare e configurare Ansible su Fedora 35.
Contenuti correlati
- Come installare Python 2 e Python 3 su Fedora 35
- Come installare Python 2 e Python 3 su Rocky Linux/Centos 8
- Come installare e configurare Ansible su Rocky Linux/CentOS 8
Prerequisiti
Per seguire, assicurati di avere:
- Un server Fedora 35 aggiornato
- Accesso a Internet
- Conoscenza del terminale Linux
- Accesso root al server o Utente con accesso sudo
Indice dei contenuti
- Assicurati che i pacchetti del sistema operativo siano aggiornati
- Installazione di Python su Fedora 35 Server
- Installazione di Ansible
- Test dell'installazione di Ansible
1. Assicurati che i pacchetti del sistema operativo siano aggiornati
Prima di procedere, si consiglia sempre di aggiornare il sistema ei pacchetti installati.
Utilizzare questo comando per assicurarsi che i pacchetti di sistema siano aggiornati:
sudo dnf -y update
2. Installazione di Python su Rocky Linux/Centos 8 Server
Ansible è scritto in Python. Poiché i programmi python vengono interpretati, hanno sempre bisogno del runtime python disponibile per l'esecuzione. Ansible non è un'eccezione, abbiamo bisogno che Python esista per poter eseguire Ansible. Ansible funziona sia per Python 2 che per Python 3.
Usa questo per installare python3 sul server:
sudo dnf install -y python3
Pip è un gestore di pacchetti per Python. Possiamo usare pip per gestire i pacchetti python python e le loro dipendenze. Avremo anche bisogno di pip per installare ansible. Usa questi comandi per installare pip:
sudo dnf -y install python3-pip
Si consiglia inoltre di avere l'ultima versione di pip installata. Usa questo comando per aggiornare pip
sudo pip3 install --upgrade pip
3. Installazione di Ansible
Ci sono due modi che possiamo usare per installare Ansible nel nostro sistema.
io. Installa ansible Dai repository Fedora predefiniti
Possiamo installare ansible fornito nei repository fedora usando questo comando:
sudo dnf install ansible
Controlla la versione di Ansible installata sul tuo sistema usando questo comando:
$ ansible --version
ansible 2.9.27
config file = /etc/ansible/ansible.cfg
configured module search path = ['/home/fedora/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python3.9/site-packages/ansible
executable location = /usr/bin/ansible
python version = 3.9.7 (default, Aug 30 2021, 00:00:00) [GCC 11.2.1 20210728 (Red Hat 11.2.1-1)]
Installa ansible utilizzando pip
Pip può essere utilizzato per installare ansible sul nostro sistema.
pip3 install ansible --user
Dal momento che ho già installato ansible nel mio caso, ottengo questo
$ pip3 install ansible --user
Requirement already satisfied: ansible in /usr/lib/python3.9/site-packages (2.9.27)
Requirement already satisfied: jinja2 in /usr/lib/python3.9/site-packages (from ansible) (2.11.3)
Requirement already satisfied: PyYAML in /usr/lib64/python3.9/site-packages (from ansible) (5.4.1)
Requirement already satisfied: cryptography in /usr/lib64/python3.9/site-packages (from ansible) (3.4.6)
Requirement already satisfied: cffi>=1.12 in /usr/lib64/python3.9/site-packages (from cryptography->ansible) (1.14.5)
Requirement already satisfied: pycparser in /usr/lib/python3.9/site-packages (from cffi>=1.12->cryptography->ansible) (2.20)
Requirement already satisfied: MarkupSafe>=0.23 in /usr/lib64/python3.9/site-packages (from jinja2->ansible) (1.1.1)
Requirement already satisfied: ply==3.11 in /usr/lib/python3.9/site-packages (from pycparser->cffi>=1.12->cryptography->ansible) (3.11)
4. Test dell'installazione Ansible
Ansible utilizza ssh per connettersi ed eseguire comandi sul server remoto. Quindi, affinché Ansible funzioni, dobbiamo assicurarci di poterci connettere al server remoto usando ssh.
Per eseguire password less ssh sul server remoto, utilizzare questo comando per generare la chiave ssh:
$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/rocky/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/rocky/.ssh/id_rsa.
Your public key has been saved in /home/rocky/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:vRdPlegZg17H4aMt30jQsiTYe0Jnh0zErhnSnuUQj3g [email protected]
The key's randomart image is:
+---[RSA 3072]----+
| oo . |
| o.ooo+ o|
| .o+*O=o*.|
| ooE**=B..|
| S++X+=o. |
| =+.=o..|
| . . o..|
| . |
| |
+----[SHA256]-----+
Copia l'ID sul server remoto:
ssh-copy-id [email protected]
Ora crea un file di inventario:
vim hosts
Con questo contenuto:
10.2.40.182 ansible_ssh_user=fedora
Usa il modulo ping per testare ansible:
$ ansible -i hosts 10.2.40.182 -m ping 10.2.40.182 | SUCCESS => { "ansible_facts": { "discovered_interpreter_python": "/usr/bin/python" }, "changed": false, "ping": "pong" }
Per i comandi che richiedono sudo, passa l'opzione --ask-become-pass
. Ciò richiederà la password di escalation dei privilegi. Ciò potrebbe richiedere l'installazione di sshpass
programma.
$ ansible -i hosts 10.2.40.182 -m command -a "sudo yum install vim" --ask-become-pass
BECOME password:
[WARNING]: Consider using 'become', 'become_method', and 'become_user' rather than running sudo
10.2.40.182 | CHANGED | rc=0 >>
Last metadata expiration check: 0:23:39 ago on Wed 03 Nov 2021 08:35:14 PM UTC.
Package vim-enhanced-2:8.2.3512-1.fc34.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!
Conclusione
In questa guida siamo riusciti a installare Ansible e testare la connessione a un server remoto.