Ansible AWX installeren op Debian 10
Ansible is een open-source automatiseringstool dat gebruikt wordt voor software provisioning, configuratiebeheer, en het uitrollen van toepassingen. Je kunt er toepassingen automatisch mee installeren, configureren en inzetten op meerdere systemen.
AWX is een web-gebaseerde toepassing die gebruikt wordt om Ansible te beheren. Je kunt Ansible playbooks, inventarissen, Geheimen, en geplande opdrachten beheren vanuit een AWX webinterface.
Kenmerken
- Ondersteuning van meerdere clouds zoals AWS, Azure, en GCP
- Volgen van gebruikersactiviteiten
- Verhoog efficiëntie & veiligheid
- Rolgebaseerde toegangscontrole van gebruikers & Authenticatie
- Taken plannen
- Geïntegreerde meldingen
In dit artikel laten we je zien hoe je AWX op een Debian 10 server kunt installeren.
Vereisten
- Een server waarop Debian 10 draait.
- Een root wachtwoord is op de server ingesteld.
Aan de slag
Werk eerst alle systeempakketten bij naar de nieuwste versie met het volgende commando:
apt-get update -y
Zodra alle pakketten zijn bijgewerkt, installeer je andere benodigde pakketten met het volgende commando:
apt-get install apt-transport-https ca-certificates software-properties-common unzip gnupg2 curl git -y
Nadat alle pakketten geïnstalleerd zijn, kun je verder gaan met de volgende stap.
Installeer Ansible
Vervolgens moet je Ansible op je systeem installeren. Standaard is de nieuwste versie van Ansible niet opgenomen in de Debian 10 repository. Je zult dus de Ansible repository aan APT moeten toevoegen. Je kunt het toevoegen met het volgende commando:
echo "deb http://ppa.launchpad.net/ansible/ansible/ubuntu bionic main" | tee /etc/apt/sources.list.d/ansible.list
Als de repository is toegevoegd, voeg je de GPG sleutel toe met het volgende commando:
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 93C4A3FD7BB9C367
Werk vervolgens de repository bij en installeer de nieuwste versie van Ansible met het volgende commando:
apt-get update -y
apt-get install ansible -y
Als Ansible geïnstalleerd is, kun je de geïnstalleerde versie van Ansible verifiëren met het volgende commando:
ansible --version
Je zou de volgende uitvoer moeten krijgen:
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 10 2019, 22:02:15) [GCC 8.3.0]
Op dit punt is Ansible geïnstalleerd in je systeem. Je kunt nu verder gaan met de volgende stap.
Installeer Docker en Docker Compose
Vervolgens moet je Docker en Docker Compose op je systeem installeren. Standaard is de nieuwste versie van Docker niet beschikbaar in de standaard repository van Debian 10. Je zult dus de Docker CE repository aan je systeem moeten toevoegen. Voeg eerst de Docker sleutel en repository toe met het volgende commando:
curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
Werk vervolgens de repository bij en installeer de Docker CE met het volgende commando:
apt-get update -y
apt-get install docker-ce -y
Als de Docker geïnstalleerd is, controleer dan de Docker versie met het volgende commando:
docker --version
Je zou de volgende uitvoer moeten zien:
Docker version 20.10.5, build 55c4c88
Vervolgens moet je de nieuwste versie van Docker Compose op je systeem installeren. Je kunt de Docker Compose binary downloaden met het volgende commando:
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 -
Zodra de download voltooid is, stel je de juiste toestemming in met het volgende commando:
chmod +x docker-compose-Linux-x86_64
Verplaats vervolgens de Docker Compose binary naar het systeempad met het volgende commando:
mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose
Controleer vervolgens de Docker Compose versie met het volgende commando:
docker-compose version
Je zou de volgende uitvoer moeten krijgen:
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 10 Sep 2019
Op dit punt zijn Docker en Docker Compose geïnstalleerd in je systeem. Je kunt nu verder gaan met de volgende stap.
Installeer Node.js en NPM
Vervolgens moet je Node.js en NPM in je systeem installeren. Je kunt Node.js en NPM installeren met het volgende commando:
apt-get install nodejs npm -y
npm install npm --global
Installeer vervolgens andere Python afhankelijkheden met het volgende commando:
apt-get install python3-pip git pwgen -y
Installeer vervolgens Docker Compose module die passen bij je Docker Compose versie met het volgende commando:
pip3 install docker-compose==1.28.5
Als je klaar bent, kun je verder gaan met de volgende stap.
Opmerking: Zorg ervoor dat 1.28.5 overeenkomt met de Docker Compose versie die in je systeem geïnstalleerd is.
Installeer AWX
Vervolgens moet je AWX in je systeem installeren. Download eerst de AWX uit de Git Hub repository met het volgende commando:
wget https://github.com/ansible/awx/archive/17.1.0.zip
Als de download voltooid is, pak je het gedownloade bestand uit met het volgende commando:
unzip 17.1.0.zip
Verander vervolgens de directory in installer met het volgende commando:
cd awx-17.1.0/installer/
Genereer vervolgens de secrete sleutel door het volgende commando uit te voeren:
pwgen -N 1 -s 30
Je zou de volgende uitvoer moeten krijgen:
3BgGA8MnM4gKTXV8r7vQhwjjNixO6o
Bewerk vervolgens het inventarisbestand en definieer je admin gebruikersnaam, wachtwoord en secrete sleutel:
nano inventory
Verander de volgende regels:
admin_user=admin admin_password=securepassword secret_key=3BgGA8MnM4gKTXV8r7vQhwjjNixO6o
Bewaar en sluit het bestand als je klaar bent en installeer dan de AWX door het volgende commando uit te voeren:
ansible-playbook -i inventory install.yml
Als de AWX met succes geïnstalleerd is, zou je de volgende uitvoer moeten krijgen:
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
Op dit punt is AWX in je systeem geïnstalleerd. Je kunt nu verder gaan om de AWX web UI te openen.
Toegang tot Ansible AWX
Open nu je web browser en open de Ansible AWX webinterface met de URL http://your-server-ip. Je wordt doorgestuurd naar de AWX login pagina:
Geef je admin gebruikersnaam en wachtwoord op en klik op de Log In knop. Je zou het Ansible AWX dashboard op de volgende pagina moeten zien:
Conclusie
Gefeliciteerd! Je hebt Ansible AWX met succes geïnstalleerd op Debian 10 server. Je kunt nu gemakkelijk het Ansible playbook, de inventaris en de jobs beheren vanaf het AWX dashboard. Voel je vrij om me te vragen als je vragen hebt.