AWX je komunitní projekt s otevřeným zdrojovým kódem sponzorovaný společností Red Hat. Slouží jako vývojové prostředí pro Ansible Tower. AWX bude vycházet často a bude mít všechny novinky.
Ansible AWX poskytuje webové uživatelské rozhraní pro správu Ansible hostitelů, playbooků, modulů, plánování úloh, automatizace pracovních postupů, sdílení pověření a nástrojů umožňujících delegování.
V tomto tutoriálu procházíme instalací proces Ansible AWX na Ubuntu 20.04 .
Předpoklady
- kořenový přístup nebo uživatel s právy sudo pro připojení SSH.
- Ubuntu 20.04 nebo 18.04
- Minimálně 4 GB RAM
- Minimálně 2vcpus
- Minimálně 20 GB volný úložný prostor
Pro účely úspěšného zprovoznění a spuštění Ansible AWX bude také potřeba mít nainstalované:
- Ansible
- Docker a Docker vytvářejí
- Uzel a NPM
1. Nainstalujte Ansible na Ubuntu 20.04
První aktualizace systému
$ sudo apt update
Chcete-li nainstalovat Ansible, zadejte:
$ sudo apt install ansible -y
Pro ověření verze nainstalovaného Ansible spusťte příkaz:
$ ansible --version
Výstup:
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]
Hlavní konfigurační soubor je uložen v /etc/ansible/hosts soubor.
2. Nainstalujte Docker a Docker Compose
Pro úspěšnou instalaci a konfiguraci Dockeru si přečtěte Jak nainstalovat Docker na Ubuntu 20.04
Po instalaci Dockeru ověřte verzi:
$ docker version
Výstup:
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
Informace o instalaci Docker Compose naleznete v části Jak nainstalovat Docker Compose na Ubuntu 20.04.
Po instalaci Docker Compose ověřte verzi:
$ docker-compose version
Výstup:
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. Nainstalujte Node a NPM
Dále nainstalujte Node.js
$ sudo apt install -y nodejs npm
a také Nainstalujte NPM
$ sudo npm install npm --global
4. Nainstalujte Ansible AWX na Ubuntu 20.04
Když jsme si prošli předchozí instalace, je čas nainstalovat Ansible AWX.
Nainstalujte docker-py python modulu s následujícím příkazem:
$ sudo apt install python3-pip git pwgen vim
Instalovat požadavek který umožňuje odesílat požadavky HTTP/1.1:
$ sudo pip3 install requests==2.22.0
Také budeme potřebovat modul docker-compose pro python, který odpovídá vaší nainstalované verzi Docker Compose.
$ docker-compose version
Výstup:
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
Zkontrolujte verzi docker-compose (moje verze 1.29.2) a nainstalujte moduly pomocí následujícího příkazu.
$ sudo pip3 install docker-compose==1.29.2
Po instalaci pi-modulů stáhneme nejnovější zip soubor AWX z GitHubu pomocí následujícího příkazu.
$ wget https://github.com/ansible/awx/archive/17.1.0.zip
Rozbalte stažený adresář:
$ unzip 17.1.0.zip
A změňte adresář na awx-17.1.0/installer/
$ cd awx-17.1.0/installer/
Vygenerujte tajný klíč nebo vygenerujte náhodné heslo pro AWX pomocí následujícího příkazu:
$ pwgen -N 1 -s 30
Výstup:
6YJ0TM4MsmpKIrNCqEVA1i4TAa3zbG
Dále vyhledejte inventář soubor a otevřete jej pomocí oblíbeného editoru:
$ sudo nano inventory
Pokuste se zachovat následující nastavení:
POZNÁMKA:nahraďte tajný klíč s tím, který jsme právě vygenerovali:
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
Po spárování této konfigurace s vaší je čas spustit playbook pomocí následujícího příkazu:
$ ansible-playbook -i inventory install.yml
install.yml - je název souboru playbook
-i říká ansible použít inventární soubor
Výstup instalace:
Ověřte, že vše jde dobře, bez neúspěšných úkolů.
Po instalaci ansible-playbook zkontrolujte kontejnery dockeru, abyste získali seznam spuštěných kontejnerů:
$ docker ps
Výstup:
Jak můžete vidět, ansible skript vytvoří a spustí 4 ukotvitelné kontejnery:
- awx_task
- awx_web
- awx_redis
- awx_postgres
Pro nás je nejdůležitější awx_web který běží na portu 80 .
K webovému uživatelskému rozhraní Ansible AWX se dostanete přes hotip nebo název hostitele na portu 80 .
Přihlaste se pomocí přihlašovacích údajů, které byly dříve definovány v inventáři soubor.
Po přihlášení se zobrazí hlavní panel. Odtud můžete začít spravovat Ansible AWX a užívat si přehled řídicího panelu.
Závěr
V tomto tutoriálu jsme se naučili, jak nainstalovat Ansible AWX na Ubuntu 20.04 pomocí ansible-playbook s kontejnery Docker.