AWX è un progetto di comunità open source sponsorizzato da Red Hat. Serve come ambiente di sviluppo per Ansible Tower. AWX avrà rilasci frequenti e avrà tutti i nuovi sviluppi.
Ansible AWX fornisce un'interfaccia utente basata sul Web per gestire host Ansible, playbook, moduli, pianificazione dei lavori, automazione del flusso di lavoro, condivisione delle credenziali e strumenti per abilitare la delega.
In questo tutorial, esamineremo l'installazione processo di Ansible AWX su Ubuntu 20.04 .
Prerequisiti
- accesso root o utente con privilegi sudo per connessione SSH.
- Ubuntu 20.04 o 18.04
- Minimo 4 GB di RAM
- Minimo 2 vcpus
- Minimo 20 GB spazio di archiviazione gratuito
Ai fini di una corretta installazione ed esecuzione, Ansible AWX dovrà anche aver installato:
- Abile
- Docker e Docker compongono
- Nodo e NPM
1. Installa Ansible su Ubuntu 20.04
Primo aggiornamento del sistema
$ sudo apt update
Per installare Ansible, digita:
$ sudo apt install ansible -y
Per verificare la versione di Ansible installato esegui il comando:
$ ansible --version
Uscita:
ansible 2.9.6
config file = /etc/ansible/ansible.cfg
configured module search path = ['/home/linoxide/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python3/dist-packages/ansible
executable location = /usr/bin/ansible
python version = 3.8.5 (default, Jan 27 2021, 15:41:15) [GCC 9.3.0]
Il file di configurazione principale è archiviato in /etc/ansible/hosts file.
2. Installa Docker e Docker Compose
Per una corretta installazione e configurazione di Docker, fare riferimento a Come installare Docker su Ubuntu 20.04
Dopo l'installazione di Docker, verifica la versione:
$ docker version
Uscita:
Client: Docker Engine - Community
Version: 20.10.6
API version: 1.41
Go version: go1.13.15
Git commit: 370c289
Built: Fri Apr 9 22:47:17 2021
OS/Arch: linux/amd64
Context: default
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 20.10.6
API version: 1.41 (minimum version 1.12)
Go version: go1.13.15
Git commit: 8728dd2
Built: Fri Apr 9 22:45:28 2021
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.4.4
GitCommit: 05f951a3781f4f2c1911b05e61c160e9c30eaa8e
runc:
Version: 1.0.0-rc93
GitCommit: 12644e614e25b05da6fd08a38ffa0cfe1903fdec
docker-init:
Version: 0.19.0
GitCommit: de40ad0
Per l'installazione di Docker Compose, consulta Come installare Docker Compose su Ubuntu 20.04.
Dopo l'installazione di Docker Compose, verifica la versione:
$ docker-compose version
Uscita:
docker-compose version 1.29.2, build 5becea4c
docker-py version: 5.0.0 CPython version: 3.7.10 OpenSSL version: OpenSSL 1.1.0l 10 Sep 2019
3. Installa Nodo e NPM
Quindi, installa Node.js
$ sudo apt install -y nodejs npm
e anche Installa NPM
$ sudo npm install npm --global
4. Installa Ansible AWX su Ubuntu 20.04
Dopo aver esaminato le installazioni precedenti, è il momento di installare Ansible AWX.
Installa docker-py python modulo con il seguente comando:
$ sudo apt install python3-pip git pwgen vim
Installa richiesta che permette di inviare richieste HTTP/1.1:
$ sudo pip3 install requests==2.22.0
Inoltre, avremo bisogno di un modulo di composizione mobile per Python, che corrisponda alla versione installata di Docker Compose.
$ docker-compose version
Uscita:
docker-compose version 1.29.2, build 5becea4c
docker-py version: 5.0.0 CPython version: 3.7.10 OpenSSL version: OpenSSL 1.1.0l 10 Sep 2019
Controlla la versione docker-compose (la mia è 1.29.2) e installa i moduli con il seguente comando.
$ sudo pip3 install docker-compose==1.29.2
Dopo aver installato i moduli pi, scaricheremo l'ultimo file zip AWX da GitHub con il seguente comando.
$ wget https://github.com/ansible/awx/archive/17.1.0.zip
Decomprimi la directory scaricata:
$ unzip 17.1.0.zip
E cambia la directory in awx-17.1.0/installer/
$ cd awx-17.1.0/installer/
Genera chiave segreta o genera una password casuale per AWX con il seguente comando:
$ pwgen -N 1 -s 30
Uscita:
6YJ0TM4MsmpKIrNCqEVA1i4TAa3zbG
Quindi, trova un inventario file e aprilo con l'editor preferito:
$ sudo nano inventory
Cerca di mantenere le seguenti impostazioni:
NOTA:sostituisci la chiave segreta con quello che abbiamo appena generato:
dockerhub_base=ansible
awx_task_hostname=awx
awx_web_hostname=awxweb
postgres_data_dir=/tmp/pgdocker
host_port=80
host_port_ssl=443
docker_compose_dir=/tmp/awxcompose
pg_username=awx
pg_password=awxpass
pg_database=awx
pg_port=5432
admin_user=admin
admin_password=password
create_preload_data=True
secret_key=
6YJ0TM4MsmpKIrNCqEVA1i4TAa3zbG
Dopo aver abbinato questa configurazione alla tua, è il momento di eseguire il playbook con il seguente comando:
$ ansible-playbook -i inventory install.yml
install.yml - è il nome del file del playbook
-io indica ad ansible di utilizzare il file di inventario
Uscita di installazione:
Verifica che tutto vada bene, senza attività fallite.
Dopo l'installazione di ansible-playbook, controlla i contenitori docker per ottenere un elenco dei contenitori in esecuzione:
$ docker ps
Uscita:
Come puoi vedere, uno script ansible crea e avvia 4 docker-container:
- awx_task
- awx_web
- awx_redis
- awx_postgres
Per noi è più importante awx_web che è in esecuzione sulla porta 80 .
È possibile accedere all'interfaccia utente Web di Ansible AWX tramite hostip o nome host sulla porta 80 .
Accedi con le credenziali precedentemente definite in inventario file.
Dopo l'accesso verrà visualizzata la dashboard principale. Da lì puoi iniziare a gestire Ansible AWX e goderti la panoramica della dashboard.
Conclusione
In questo tutorial, abbiamo imparato come installare Ansible AWX su Ubuntu 20.04 utilizzando ansible-playbook con contenitori Docker.