AWX ist ein von Red Hat gesponsertes Open-Source-Community-Projekt. Es dient als Entwicklungsumgebung für den Ansible Tower. AWX wird häufig veröffentlicht und enthält alle neuen Entwicklungen.
Ansible AWX bietet eine webbasierte Benutzeroberfläche zur Verwaltung von Ansible-Hosts, Playbooks, Modulen, Auftragsplanung, Workflow-Automatisierung, Freigabe von Anmeldeinformationen und Tools zur Aktivierung der Delegierung.
In diesem Tutorial gehen wir durch die Installation Prozess von Ansible AWX auf Ubuntu 20.04 .
Voraussetzungen
- Root-Zugriff oder Benutzer mit sudo-Berechtigungen für die SSH-Verbindung.
- Ubuntu 20.04 oder 18.04
- Mindestens 4 GB RAM
- Mindestens 2 vcpus
- Mindestens 20 GB freien Speicherplatz
Für eine erfolgreiche Einrichtung und Ausführung von Ansible muss AWX außerdem installiert sein:
- Ansible
- Docker und Docker komponieren
- Knoten und NPM
1. Installieren Sie Ansible auf Ubuntu 20.04
Erstes Update-System
$ sudo apt update
Um Ansible zu installieren, geben Sie Folgendes ein:
$ sudo apt install ansible -y
Führen Sie den folgenden Befehl aus, um die Version von installiertem Ansible zu überprüfen:
$ ansible --version
Ausgabe:
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]
Die Hauptkonfigurationsdatei wird in /etc/ansible/hosts gespeichert Datei.
2. Installieren Sie Docker und Docker Compose
Informationen zur erfolgreichen Installation und Konfiguration von Docker finden Sie unter How to Install Docker On Ubuntu 20.04
Überprüfen Sie nach der Docker-Installation die Version:
$ docker version
Ausgabe:
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
Informationen zur Installation von Docker Compose finden Sie unter How to Install Docker Compose on Ubuntu 20.04.
Überprüfen Sie nach der Installation von Docker Compose die Version:
$ docker-compose version
Ausgabe:
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. Node und NPM installieren
Als nächstes installieren Sie Node.js
$ sudo apt install -y nodejs npm
und auch NPM installieren
$ sudo npm install npm --global
4. Installieren Sie Ansible AWX auf Ubuntu 20.04
Nachdem wir die vorherigen Installationen durchlaufen haben, ist es an der Zeit, Ansible AWX zu installieren.
Installieren Sie docker-py python Modul mit folgendem Befehl:
$ sudo apt install python3-pip git pwgen vim
Anfrage installieren was das Senden von HTTP/1.1-Anfragen erlaubt:
$ sudo pip3 install requests==2.22.0
Außerdem benötigen wir ein Docker-Compose-Modul für Python, das zu Ihrer installierten Version von Docker Compose passt.
$ docker-compose version
Ausgabe:
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
Überprüfen Sie die Docker-Compose-Version (meine ist 1.29.2) und installieren Sie Module mit dem folgenden Befehl.
$ sudo pip3 install docker-compose==1.29.2
Nach der Installation von pi-modules werden wir die neueste AWX-ZIP-Datei von GitHub mit dem folgenden Befehl herunterladen.
$ wget https://github.com/ansible/awx/archive/17.1.0.zip
Heruntergeladenes Verzeichnis entpacken:
$ unzip 17.1.0.zip
Und wechseln Sie in das Verzeichnis awx-17.1.0/installer/
$ cd awx-17.1.0/installer/
Generieren Sie einen geheimen Schlüssel oder ein zufälliges Passwort für AWX mit dem folgenden Befehl:
$ pwgen -N 1 -s 30
Ausgabe:
6YJ0TM4MsmpKIrNCqEVA1i4TAa3zbG
Suchen Sie als Nächstes ein Inventar Datei und öffnen Sie sie mit dem bevorzugten Editor:
$ sudo nano inventory
Versuchen Sie, die folgenden Einstellungen beizubehalten:
HINWEIS:Geheimschlüssel ersetzen mit dem gerade generierten:
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
Nachdem Sie diese Konfiguration mit Ihrer abgeglichen haben, ist es an der Zeit, das Playbook mit dem folgenden Befehl auszuführen:
$ ansible-playbook -i inventory install.yml
install.yml - ist der Name der Playbook-Datei
-i weist Ansible an, die Inventardatei zu verwenden
Installationsausgabe:
Stellen Sie sicher, dass alles gut läuft, ohne fehlgeschlagene Aufgaben.
Überprüfen Sie nach der Installation des Ansible-Playbooks die Docker-Container, um eine Liste der ausgeführten Container zu erhalten:
$ docker ps
Ausgabe:
Wie Sie sehen können, erstellt und startet ein Ansible-Skript 4 Docker-Container:
- awx_task
- awx_web
- awx_redis
- awx_postgres
Für uns ist am wichtigsten awx_web die auf Port 80 läuft .
Sie können über hostip auf die Ansible AWX Web-UI zugreifen oder Hostname auf Port 80 .
Melden Sie sich mit Anmeldeinformationen an, die zuvor im Inventar definiert wurden Datei.
Nach der Anmeldung wird das Haupt-Dashboard angezeigt. Von dort aus können Sie mit der Verwaltung von Ansible AWX beginnen und die Dashboard-Übersicht genießen.
Schlussfolgerung
In diesem Tutorial haben wir gelernt, wie man Ansible AWX unter Ubuntu 20.04 mit Ansible-Playbook mit Docker-Containern installiert.