AWX steht für „Ansible Web eXecutable“ und ist ein kostenloses Open-Source-Projekt, mit dem Sie Ansible-Projekte einfach verwalten und steuern können. AWX bietet eine webbasierte Benutzeroberfläche, eine leistungsstarke REST-API und ermöglicht es Ihnen, Inventar mit anderen Cloud-Quellen zu verwalten oder zu synchronisieren, den Zugriff zu steuern und mit LDAP zu integrieren.
In diesem Tutorial zeigen wir Ihnen, wie Sie AWX Ansible AWX mit Docker auf Rocky Linux 8.3 und CentOS 8 installieren.
Voraussetzung
- Rocky Linux 8.3 oder CentOS 8 Server mit mindestens 4 GB RAM.
- Melden Sie sich als Root oder Benutzer mit Privilegien an sudo
Vor dem Start
Fügen Sie das EPEL-Repository mit dem folgenden Befehl zum System hinzu:
dnf install epel-release -y
Als Nächstes müssen Sie einige zusätzliche Pakete installieren, die zum Ausführen von AWX auf dem System erforderlich sind. Sie können sie alle mit dem folgenden Befehl installieren:
dnf install git gcc gcc-c++ ansible nodejs gettext device-mapper-persistent-data lvm2 bzip2 python3-pip -y
Sobald alle Pakete installiert sind, können Sie mit dem nächsten Schritt fortfahren.
Installieren Sie Docker und Docker Compose
Als Nächstes müssen wir Docker installieren, um AWX in einem Docker-Container auszuführen. Standardmäßig ist die neueste Version von Docker nicht in den standardmäßigen CentOS 8-Repositorys verfügbar. Sie müssen also das Docker-Repository auf Ihrem System hinzufügen. Sie können das Docker-Repository mit dem folgenden Befehl hinzufügen:
dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
Installieren Sie nach dem Hinzufügen die neueste stabile Version von Docker mit dem folgenden Befehl:
dnf install docker-ce-3:18.09.1-3.el7 -y
Überprüfen Sie nach der Installation von Docker mit dem folgenden Befehl, welche Version von Docker installiert ist:
docker --version
Sie sollten etwa Folgendes erhalten:
Docker-Version 19.03.7, Build 7141c199a2
Starten Sie als Nächstes den Docker-Dienst und aktivieren Sie ihn nach dem Neustart des Systems mit dem folgenden Befehl:
systemctl docker starten systemctl docker aktivieren
Sie können den Status des Docker-Dienstes mit dem folgenden Befehl überprüfen:
Systemctl-Status-Docker
Sie sollten etwa Folgendes erhalten:
Installieren Sie als Nächstes Docker Compose mit dem folgenden Befehl:
pip3 install docker-compose
Überprüfen Sie nach der Installation die Docker-Compose-Version mit dem folgenden Befehl:
docker-compose --version
Sie sehen die folgende Ausgabe:
docker-compose Version 1.25.4, Build unbekannt
Führen Sie abschließend den folgenden Befehl aus, um den Python-Befehl auf die Verwendung von Python 3 einzustellen:
alternatives --set python /usr/bin/python3
So installieren Sie Google Chrome unter Ubuntu 20.04 und Ubuntu 21.04
Installieren Sie CentOS 8 Ansible AWX
Laden Sie zunächst mit dem folgenden Befehl die neueste Version von Ansible AWX aus dem Git Hub-Repository herunter:
git-Klon https://github.com/ansible/awx.git
Erstellen Sie als Nächstes einen geheimen Schlüssel, um die Inventardatei mit dem folgenden Befehl zu verschlüsseln:
openssl rand -base64 30
Sie erhalten die folgende Ausgabe:
R + kbcDEUS8DlAftAbtWafVfLZ0lUy + Paqo3fEtep
Hinweis :Notieren Sie sich den geheimen Schlüssel, der erscheint, indem Sie ihn kopieren und in einen Texteditor einfügen, da Sie ihn in die Inventardatei einfügen müssen.
Wechseln Sie als nächstes in das Verzeichnis awx/installer/ und bearbeiten Sie die Inventory-Datei mit einem Texteditor nano
:
cd awx/installer/nano Inventory
Ändern Sie die folgenden Zeilen:
[all:vars] dockerhub_base =ansible awx_task_hostname =awx awx_web_hostname =awxweb postgres_data_dir ="/ var / lib / pgdocker" host_port =80 host_port_ssl =443 docker_compose_dir ="~ / .awx / awxcompose" pg_username =awx pg_password =awx.base =awx pg_port =5432 pg_admin_password =password rabbitmq_password =awxpass rabbitmq_erlang_cookie =cookiemonster admin_user =admin admin_password =password create_preload_data =True secret_key =R + kbcDEUS8DlAftAbtWafVfLZ0lUy + Paqo3fEtep awx_official =true awx_alternate_dns_servers ="8.8.8.8,8.8.4.4" project_data_dir =/ var / lib /awx/projects
Speichern und schließen Sie die Datei, wenn Sie fertig sind. Erstellen Sie dann ein Verzeichnis für Postgres:
mkdir /var/lib/pgdocker
Führen Sie abschließend den folgenden Befehl aus, um AWX zu installieren:
ansible-playbook -i Inventory install.yml
Nachdem die Installation erfolgreich abgeschlossen wurde, sollten Sie die folgende Ausgabe erhalten:
Überspringen:[localhost]TASK [local_docker :Webbild laden] ********************************** ****************************************************** **********************Überspringen:[localhost]TASK [local_docker :Task-Image laden] **************** ****************************************************** ****************************************Überspringen:[localhost]TASK [local_docker :Set vollständiger Image-Pfad für lokale Installation] ***************************************** ****************************************Überspringen:[localhost]TASK [local_docker :Set DockerHub-Bildpfade] ********************************************** *************************************************Ok :[localhost]TASK [local_docker :Verzeichnis ~/.awx/awxcompose erstellen] ********************************* ****************************************************** ***geändert:[localhost]TASK [local_docker:Docker-Compose-Konfiguration erstellen] ********************************* ****************************************************** **geändert:[localhos t] => (item=environment.sh)geändert:[localhost] => (item=credentials.py)geändert:[localhost] => (item=docker-compose.yml)geändert:[localhost] => (item =nginx.conf)TASK [local_docker:SECRET_KEY-Datei rendern] ************************************* ****************************************************** **********geändert:[localhost]TASK [local_docker :Container starten] ************************* ****************************************************** ************************geändert:[localhost]TASK [local_docker:CA-Vertrauen in awx_web-Container aktualisieren] ********** ****************************************************** ************************geändert:[localhost]TASK [local_docker:CA-Vertrauen in awx_task-Container aktualisieren] ********** ****************************************************** **********************geändert:[localhost]PLAY RECAP ******************** ****************************************************** ****************************************************** ************localhost :ok=14 ändern d=6 nicht erreichbar=0 fehlgeschlagen=0 übersprungen=95 gerettet=0 ignoriert=0
Der obige Befehl erstellt und startet alle erforderlichen Docker-Container für AWX. Sie können einen laufenden Container mit dem folgenden Befehl überprüfen:
docker-ps
Sie sehen die folgende Ausgabe:
CONTAINER ID IMAGE BEFEHL ERSTELLT STATUS PORTS NAMEN4b91575d64b1 ansible/awx_task:9.2.0 "/tini -- /bin/sh -c…" Vor etwa einer Minute Nach oben Vor etwa einer Minute 8052/tcp awx_task9827b9831fa5 ansible/awx_web:9.2.0 "/tini -- /bin/sh -c…" Vor ungefähr einer Minute Nach oben Vor ungefähr einer Minute 0.0.0.0:80->8052/tcp awx_web47300ec1c26f postgres:10 "docker-entrypoint.s…" Vor ungefähr einer Minute Nach oben Vor ungefähr a Minute 5432/tcp awx_postgres166b153faa27 ansible/awx_rabbitmq:3.7.4 "docker-entrypoint.s…" Vor ungefähr einer Minute Aufwärts 58 Sekunden "docker-entrypoint.s…" Vor ungefähr einer Minute Nach oben Ungefähr a Minute 11211/tcp awx_memcached
So installieren Sie Laravel auf Ubuntu 20.04
SELinux und Firewall konfigurieren
Standardmäßig ist SELinux auf CentOS 8 aktiviert. Es wird empfohlen, es zu deaktivieren, um AWX in einer Docker-Umgebung zu verwenden. Sie können es deaktivieren, indem Sie die folgende Datei bearbeiten:
nano /etc/sysconfig/selinux
Suchen Sie die folgende Zeile:
SELINUX=erzwingen
Und ersetzen Sie es durch die folgende Zeile:
SELINUX=deaktiviert
Speichern und schließen Sie die Datei, wenn Sie fertig sind. Starten Sie dann das System neu, um die Änderungen zu implementieren. Als nächstes müssen Sie http- und https-Dienste durch die Firewall zulassen. Sie können sie mit dem folgenden Befehl zulassen:
firewall-cmd --zone=public --add-masquerade --permanent firewall-cmd --permanent --add-service=http firewall-cmd --permanent --add-service=https
Als nächstes starten Sie den Firewalld-Dienst neu, um die Änderungen zu übernehmen:
firewall-cmd --reload
Zugriff auf die AWX-Weboberfläche
Öffnen Sie nun Ihren Webbrowser und geben Sie die URL http:// domain_ or_server-ip ein. Sie werden zur AWX-Anmeldeseite weitergeleitet:
Geben Sie Ihren Admin-Benutzernamen und Ihr Passwort ein, die Sie in der Inventardatei festgelegt haben, und klicken Sie auf die Schaltfläche ANMELDEN . Sie sehen das AWX-Standard-Dashboard auf der folgenden Seite:
Schlussfolgerung
Herzliche Glückwünsche! Sie haben AWX mit Docker erfolgreich auf Rocky Linux 8.3 und CentOS 8 installiert. Jetzt können Sie Ihre Ansible-Projekte einfach über die AWX-Weboberfläche verwalten und steuern.
So installieren und konfigurieren Sie Java unter Ubuntu 20.04