Ansible è uno strumento gratuito e open source di gestione e automazione della configurazione utilizzato per gestire centinaia e migliaia di server da una posizione centrale.
Ansible AWX è un progetto open source, sponsorizzato da Red Hat, che ti aiuta a controllare Ansible negli ambienti IT. Fornisce un'interfaccia basata sul Web API REST e un motore di attività per Ansible. Puoi gestire playbook, segreti, inventari e cron job utilizzando l'interfaccia basata sul Web di AWX.
In questo tutorial, ti mostreremo come installare Ansible AWX con Docker su Debian 10.
Prerequisiti
- Una nuova Debian 10 VPS sulla piattaforma cloud Atlantic.net
- Una password di root configurata sul tuo server
Fase 1:crea un server cloud Atlantic.Net
Per prima cosa, accedi al tuo server Atlantic.Net Cloud. Crea un nuovo server, scegliendo Debian 10 come sistema operativo, con almeno 4 GB di RAM. Collegati al tuo Cloud Server tramite SSH e accedi utilizzando le credenziali evidenziate in alto nella pagina.
Dopo aver effettuato l'accesso al tuo server Debian 10, esegui il seguente comando per aggiornare il tuo sistema di base con gli ultimi pacchetti disponibili.
apt-get update -y
Passaggio 2 – Installa Docker
Innanzitutto, dovrai installare Docker e Docker Compose nel tuo sistema. Per impostazione predefinita, l'ultima versione di Docker non è disponibile nel repository standard Debian, quindi dovrai aggiungere il repository Docker al tuo sistema.
Installa le dipendenze richieste con il seguente comando:
apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common -y
Quindi, scarica e aggiungi la chiave Docker GPG con il seguente comando:
curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -
Quindi, aggiungi il repository Docker con il seguente comando:
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
Quindi, aggiorna il repository Docker e installa Docker con Docker Compose utilizzando il comando seguente:
apt-get update -y apt-get install docker-ce docker-compose -y
Una volta installati entrambi i pacchetti, verifica la versione installata di Docker con il seguente comando:
docker --version
Dovresti ottenere il seguente output:
Docker version 19.03.13, build 4484c46d9d
Passaggio 2:installazione di Ansible
AWX è costruito sulla parte superiore dell'Ansible. quindi dovrai installare Ansible nel tuo sistema.
Innanzitutto, aggiungi il repository Ansible con il seguente comando:
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 93C4A3FD7BB9C367 echo "deb http://ppa.launchpad.net/ansible/ansible/ubuntu bionic main" | tee /etc/apt/sources.list.d/ansible.list
Quindi, aggiorna il repository e installa Ansible con il seguente comando:
apt-get update -y apt-get install ansible -y
Una volta installato Ansible, verifica la versione installata di Ansible utilizzando il seguente comando:
ansible --version
Dovresti ottenere il seguente output:
ansible 2.9.13 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 10 2019, 22:02:15) [GCC 8.3.0]
Fase 3 – Installa Node.js e la libreria Python
Innanzitutto, installa Node.js, NPM e Git con il seguente comando:
apt-get install nodejs npm git -y npm install npm --global
Quindi, installa il modulo Python per Docker e altre dipendenze richieste con il seguente comando:
apt-get install python3-pip pwgen python3-docker -y pip3 install requests==2.14.2
Quindi, aggiorna la versione predefinita di Python con il seguente comando:
update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1 update-alternatives --install /usr/bin/python python /usr/bin/python3 2
Successivamente, dovrai installare il modulo Docker Compose Python nel tuo sistema.
Innanzitutto, controlla la versione installata di Docker Compose con il seguente comando:
docker-compose version
Dovresti ottenere il seguente output:
docker-compose version 1.21.0, build unknown docker-py version: 3.4.1 CPython version: 3.7.3 OpenSSL version: OpenSSL 1.1.1d 10 Sep 2019
Successivamente, installa la versione corrispondente del modulo Docker Compose Python con il seguente comando:
pip3 install docker-compose==1.21.0
Passaggio 4:installazione di Ansible AWX
Innanzitutto, scarica l'ultima versione del sorgente AWX dal repository Git utilizzando il seguente comando:
git clone --depth 50 https://github.com/ansible/awx.git
Una volta scaricato, cambia la directory in awx e genera la chiave segreta con il seguente comando:
cd awx/installer/ pwgen -N 1 -s 30
Dovresti ottenere il seguente output:
4NaNkNcMBOj4Jxp4fWi91mymuW9TbR
Quindi, crea un nuovo file di inventario con il seguente comando:
nano inventory
Aggiungi le seguenti righe tra cui utente amministratore, password, chiave segreta, porta e nome host come mostrato di seguito:
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=adminpassword create_preload_data=True secret_key=2fCkx2K5GnIjBz4OterhOC3ey0WPdj
Salva e chiudi il file quando hai finito.
Quindi, esegui il playbook per installare Ansible AWX con il seguente comando:
ansible-playbook -i inventory install.yml
Una volta installato Ansible AWX, dovresti ottenere il seguente output:
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 : 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] PLAY RECAP ************************************************************************************************************************************ localhost : ok=15 changed=7 unreachable=0 failed=0 skipped=86 rescued=0 ignored=0
Successivamente, puoi verificare l'elenco dei contenitori in esecuzione utilizzando il comando seguente:
docker ps
Dovresti ottenere il seguente output:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 167d008ee26f ansible/awx:14.1.0 "/usr/bin/tini -- /u…" About a minute ago Up About a minute 8052/tcp awx_task 260c028bf07d ansible/awx:14.1.0 "/usr/bin/tini -- /b…" About a minute ago Up About a minute 0.0.0.0:80->8052/tcp awx_web e15d5ee1c940 postgres:10 "docker-entrypoint.s…" About a minute ago Up About a minute 5432/tcp awx_postgres 6472ee690066 redis "docker-entrypoint.s…" About a minute ago Up About a minute 6379/tcp awx_redis
Fase 5:accedi alla dashboard di Ansible AWX
Ora apri il tuo browser web e accedi alla dashboard di Ansible AWX utilizzando l'URL http://your-server-ip . Verrai reindirizzato alla pagina di accesso di AWX:
Fornisci il nome utente e la password dell'amministratore che hai definito nel file di inventario e fai clic su SIGN IN pulsante. Dovresti vedere la dashboard di Ansible AWX nella pagina seguente:
Conclusione
Congratulazioni! Hai installato con successo Ansible AWX con Docker su Debian 10. Ora puoi controllare facilmente l'inventario, i segreti, i playbook e altro di Ansible dalla dashboard di AWX; provalo ora su VPS Hosting da Atlantic.Net!