Introduzione
Ansible è uno strumento di automazione open source utilizzato per il provisioning del software, la gestione della configurazione e la distribuzione delle applicazioni. Consente di installare, configurare e distribuire automaticamente le applicazioni su più sistemi.
AWX è un'applicazione basata sul Web utilizzata per il controllo di Ansible. Puoi gestire playbook Ansible, inventari, segreti e lavori pianificati da un'interfaccia web AWX.
Caratteristiche
- Supporta più cloud come AWS, Azure e GCP
- Monitoraggio dell'attività degli utenti
- Aumenta l'efficienza e la sicurezza
- Controllo degli accessi basato sui ruoli degli utenti e autenticazione
- Pianificazione del lavoro
- Notifiche integrate
In questo post, ti mostreremo come installare AWX sul server Debian 10.
Prerequisiti
- Un server che esegue Debian 10.
- L'utente root o un utente con privilegi sudo.
Se desideri installare Ansible AWX su un server in remoto continua a leggere, altrimenti salta il primo paragrafo "Connessione al Server" e leggi il successivo.
Connessione al Server
Per accedere al server, è necessario conoscere l'indirizzo IP. Avrai anche bisogno dell'username e della password per l'autenticazione. Per connettersi al server come utente root digitare il seguente comando:
ssh root@IP_DEL_SERVER
Successivamente sarà necessario inserire la password dell'utente root.
Se non utilizzate l'utente root potete connettervi con un'altro nome utente utilizzando lo stesso comando, quindi modificare root con il vostro nome_utente:
ssh nome_utente@IP_DEL_SERVER
Successivamente vi verrà chiesto di inserire la password del vostro utente.
La porta standard per connettersi tramite ssh è la 22, se il vostro server utilizza una porta diversa, sarà necessario specificarla utilizzando il parametro -p, quindi digitare il seguente comando:
ssh nome_utente@IP_DEL_SERVER -p PORTA
Iniziare
Innanzitutto, aggiorna tutti i pacchetti di sistema alla versione più recente utilizzando il seguente comando:
sudo apt-get update -y
Una volta aggiornati tutti i pacchetti, installa altri pacchetti richiesti con il seguente comando:
sudo apt-get install apt-transport-https ca-certificates software-properties-common unzip gnupg2 curl git -y
Dopo aver installato tutti i pacchetti, puoi procedere al passaggio successivo.
Installare Ansible
Successivamente, dovrai installare Ansible nel tuo sistema. Per impostazione predefinita, l'ultima versione di Ansible non è inclusa nel repository Debian 10. Quindi dovrai aggiungere il repository Ansible ad APT. Puoi aggiungerlo con il seguente comando:
sudo echo "deb http://ppa.launchpad.net/ansible/ansible/ubuntu bionic main" | tee /etc/apt/sources.list.d/ansible.list
Una volta aggiunto il repository, aggiungi la chiave GPG con il seguente comando:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 93C4A3FD7BB9C367
Successivamente, aggiorna il repository e installa l'ultima versione di Ansible con il seguente comando:
sudo apt-get update -y
sudo apt-get install ansible -y
Una volta installato Ansible, puoi verificare la versione installata di Ansible con il seguente comando:
sudo ansible --version
Dovresti ottenere il seguente output:
ansible 2.9.19
config file = /etc/ansible/ansible.cfg
configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python2.7/dist-packages/ansible
executable location = /usr/bin/ansible
python version = 2.7.16 (default, Oct 11 2020, 21:12:12) [GCC 8.3.0]
A questo punto, Ansible è installato nel tuo sistema. È ora possibile procedere al passaggio successivo.
Installare Docker e Docker Compose
Successivamente, dovrai installare Docker e Docker Compose sul tuo sistema. Per impostazione predefinita, l'ultima versione di Docker non è disponibile nel repository predefinito di Debian 10. Quindi dovrai aggiungere il repository Docker CE al tuo sistema. Innanzitutto, aggiungi la chiave Docker e il repository con il seguente comando curl:
sudo curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
Successivamente, aggiorna il repository e installa Docker CE con il seguente comando:
sudo apt-get update -y
sudo apt-get install docker-ce -y
Una volta installato Docker, verifica la versione Docker con il seguente comando:
sudo docker --version
Dovresti vedere il seguente output:
Docker versione 20.10.5, build 55c4c88
Successivamente, dovrai installare l'ultima versione di Docker Compose sul tuo sistema. Puoi scaricare il file binario Docker Compose con il seguente comando:
sudo curl -s https://api.github.com/repos/docker/compose/releases/latest | grep browser_download_url | grep docker-compose-Linux-x86_64 | cut -d '"' -f 4 | wget -qi -
Una volta completato il download, imposta i permessi appropriati con il seguente comando chmod:
sudo chmod +x docker-compose-Linux-x86_64
Quindi, sposta il file binario Docker Compose nel percorso di sistema con il seguente comando mv:
sudo mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose
Successivamente, verifica la versione di Docker Compose con il seguente comando:
sudo docker-compose version
Dovresti ottenere il seguente output:
docker-compose version 1.28.5, build c4eb3a1f
docker-py version: 4.4.4
CPython version: 3.7.10
OpenSSL version: OpenSSL 1.1.0l 11 Sep 2020
A questo punto, Docker e Docker Compose sono installati nel sistema. È ora possibile procedere al passaggio successivo.
Installare Node.js e NPM
Successivamente, dovrai installare Node.js e NPM nel tuo sistema. È possibile installare Node.js e NPM con il seguente comando:
sudo apt-get install nodejs npm -y
sudo npm install npm --global
Successivamente, installa altre dipendenze Python con il seguente comando:
sudo apt-get install python3-pip git pwgen -y
Successivamente, installa il modulo Docker Compose che corrisponde alla tua versione Docker Compose con il seguente comando:
sudo pip3 install docker-compose==1.28.5
Una volta terminato, puoi procedere al passaggio successivo.
Nota: assicurati che 1.28.5 corrisponda alla versione Docker Compose installata nel tuo sistema.
Installare AWX
Successivamente, dovrai installare AWX nel tuo sistema. Innanzitutto, scarica AWX dal repository Git Hub con il seguente comando wget:
sudo wget https://github.com/ansible/awx/archive/17.1.0.zip
Una volta completato il download, decomprimere il file scaricato con il seguente comando:
sudo unzip 17.1.0.zip
Successivamente, cambia la directory in installer con il seguente comando cd:
cd awx-17.1.0/installer/
Quindi, genera la chiave secreta eseguendo il seguente comando:
sudo pwgen -N 1 -s 30
Dovresti ottenere il seguente output:
d1h81f048AA0hg0238erej203939d
Successivamente, modifica il file di inventario e definisci il nome utente, la password e la chiave segreta dell'amministratore con il tuo editor:
sudo nano inventory
Modificare le seguenti righe:
admin_user=admin
admin_password=securepassword
secret_key=d1h81f048AA0hg0238erej203939d
Al termine, salva e chiudi il file, quindi installa AWX eseguendo il seguente comando:
sudo ansible-playbook -i inventory install.yml
Una volta che AWX è stato installato correttamente, dovresti ottenere il seguente output:
changed: [localhost]
TASK [local_docker : Create Docker Compose Configuration] *************************************************************************************
changed: [localhost] => (item={u'mode': u'0600', u'file': u'environment.sh'})
changed: [localhost] => (item={u'mode': u'0600', u'file': u'credentials.py'})
changed: [localhost] => (item={u'mode': u'0600', u'file': u'docker-compose.yml'})
changed: [localhost] => (item={u'mode': u'0600', u'file': u'nginx.conf'})
changed: [localhost] => (item={u'mode': u'0664', u'file': u'redis.conf'})
TASK [local_docker : Render SECRET_KEY file] **************************************************************************************************
changed: [localhost]
TASK [local_docker : Remove AWX containers before migrating postgres so that the old postgres container does not get used] ********************
ok: [localhost]
TASK [local_docker : Run migrations in task container] ****************************************************************************************
changed: [localhost]
TASK [local_docker : Start the containers] ****************************************************************************************************
changed: [localhost]
TASK [local_docker : Update CA trust in awx_web container] ************************************************************************************
changed: [localhost]
TASK [local_docker : Update CA trust in awx_task container] ***********************************************************************************
changed: [localhost]
TASK [local_docker : Wait for launch script to create user] ***********************************************************************************
ok: [localhost]
TASK [local_docker : Create Preload data] *****************************************************************************************************
changed: [localhost]
PLAY RECAP ************************************************************************************************************************************
localhost : ok=21 changed=12 unreachable=0 failed=0 skipped=73 rescued=0 ignored=1
A questo punto, AWX è installato nel tuo sistema. È ora possibile procedere per accedere all'interfaccia utente Web di AWX.
Accedere ad Ansible AWX
Ora apri il tuo browser web e accedi all'interfaccia web di Ansible AWX utilizzando l'URL http://your-server-ip. Verrai reindirizzato alla pagina di accesso di AWX:
Fornire l'amministratore nome utente, password e clicca sul tasto Log In. Dovresti vedere la dashboard di Ansible AWX.
Conclusione
In questo tutorial abbiamo visto come iinstallare Ansible AWX sul server Debian 10. Ora puoi gestire facilmente il playbook Ansible, l'inventario e i lavori dalla dashboard di AWX.