GNU/Linux >> Znalost Linux >  >> Cent OS

Jak nainstalovat Ansible AWX na CentOS 8

AWX je zkratka pro „Ansible Web eXecutable“ je bezplatný projekt s otevřeným zdrojovým kódem, který vám umožňuje snadno spravovat a ovládat váš projekt Ansible. Poskytuje webové uživatelské rozhraní a modul úloh postavený na Ansible. Poskytuje výkonné REST API a umožňuje vám spravovat nebo synchronizovat inventář s jinými cloudovými zdroji, řídit přístup a integrovat se s LDAP.

V tomto tutoriálu vám ukážeme, jak nainstalovat Ansible AWX s Dockerem na CentOS 8.

Předpoklady

  • Server se systémem CentOS 8 s minimálně 4 GB RAM.
  • Na vašem serveru je nakonfigurováno heslo uživatele root.

Začínáme

Než začnete, budete muset do svého systému nainstalovat úložiště EPEL. Můžete jej nainstalovat pomocí následujícího příkazu:

dnf install epel-release -y

Dále budete muset nainstalovat některé další balíčky potřebné ke spuštění AWX na vašem systému. Všechny je můžete nainstalovat pomocí následujícího příkazu:

dnf install git gcc gcc-c++ ansible nodejs gettext device-mapper-persistent-data lvm2 bzip2 python3-pip -y

Jakmile jsou všechny balíčky nainstalovány, můžete přejít k dalšímu kroku.

Instalovat Docker a Docker Compose

Dále budete muset nainstalovat Docker, abyste mohli spustit AWX v kontejneru Docker. Ve výchozím nastavení není nejnovější verze Dockeru k dispozici ve výchozím úložišti CentOS 8. Budete tedy muset do svého systému přidat úložiště Docker. Úložiště Docker můžete přidat pomocí následujícího příkazu:

dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo

Po přidání nainstalujte nejnovější stabilní verzi Dockeru pomocí následujícího příkazu:

dnf install docker-ce-3:18.09.1-3.el7 -y

Po instalaci Dockeru zkontrolujte nainstalovanou verzi Dockeru pomocí následujícího příkazu:

docker --version

Měli byste získat následující výstup:

Docker verze 19.03.7, sestavení 7141c199a2

Dále spusťte službu Docker a povolte její spuštění po restartování systému pomocí následujícího příkazu:

systemctl start docker
systemctl enable docker

Stav služby Docker můžete ověřit pomocí následujícího příkazu:

systemctl status docker

Měli byste získat následující výstup:

? docker.service - Docker Application Container Engine Načteno:načteno (/usr/lib/systemd/system/docker.service; zakázáno; přednastaveno dodavatelem:zakázáno) Aktivní:aktivní (běží) od středy 2020-03-11 02:36:04 EDT; Před 23 minutami Dokumenty:https://docs.docker.com Hlavní PID:5882 (dockerd) Úkoly:101 Paměť:2,6G CGroup:/system.slice/docker.service ??5882 /usr/bin/dockerd -H fd:// ??5899 containerd --config /var/run/docker/containerd/containerd.toml --log-level info ??8815 containerd-shim -namespace moby -workdir /var/lib/docker/containerd/daemon/io .containerd.runtime.v1.linux/moby/4b91575d64b1b> ??8847 containerd-shim -namespace moby -workdir /var/lib/docker/containerd/daemon/io.containerd.runtime.v1>linux/moby/0f446c9 ?8894 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 80 -container-ip 172.18.0.5 -container-port 8052 ??8899 containerd-shim -namespace moby -workdir /var /lib/docker/containerd/daemon/io.containerd.runtime.v1.linux/moby/47300ec1c26ff> ??8923 containerd-shim -namespace moby -workdir /var/lib/docker/containerd/daemon/io.containerd.runtime .v1.linux/moby/9827b9831fa5b> ??9631 obsahuje erd-shim -namespace moby -workdir /var/lib/docker/containerd/daemon/io.containerd.runtime.v1.linux/moby/166b153faa275>

Dále nainstalujte Docker compose pomocí následujícího příkazu:

pip3 install docker-compose

Po instalaci ověřte verzi Docker compose pomocí následujícího příkazu:

docker-compose --version

Měli byste vidět následující výstup:

docker-compose verze 1.25.4, sestavení neznámé

Nakonec spusťte následující příkaz a nastavte příkaz python tak, aby používal python 3:

alternativy --set python /usr/bin/python3

Instalovat Ansible AWX

Nejprve si stáhněte nejnovější verzi Ansible AWX z úložiště Git Hub pomocí následujícího příkazu:

klon git https://github.com/ansible/awx.git

Dále vygenerujte tajný klíč pro šifrování souboru inventáře pomocí následujícího příkazu:

openssl rand -base64 30

Měli byste získat následující výstup:

R+kbcDEUS8DlAftAbfWafVqLZ0lUy+Paqo4fEtgp

Poznámka:Pamatujte na výše uvedená tajemství, budete je muset vložit do souboru inventáře.

Dále změňte adresář na awx/installer/ a upravte soubor inventáře:

cd awx/installer/
nano inventář

Změňte následující řádky:

 [všechny:vars] dockerhub_base =ansibleawx_task_hostname =awxawx_web_hostname =awxwebpostgres_data_dir ="/ var / lib / pgdocker" host_port =80host_port_ssl =443docker_compose_dir ="~ / .awx / awxcompose" pg_username =awxpg_password =awxpasspg_database =awxpg_port =5432pg_admin_password =passwordrabbitmq_password =awxpassrabbitmq_erlang_cookie=cookiemonsteradmin_user=adminadmin_password=passwordcreate_preload_data=Truesecret_key=R+kbcDEUS8DlAftAbfWafVqLZ0lUy+Paqo4fEtgpawx/server_4.pro..“8_8_official=truc/4.pro. 

Po dokončení uložte a zavřete soubor. Poté vytvořte adresář pro Postgres:

mkdir /var/lib/pgdocker

Nakonec spusťte následující příkaz k instalaci AWX:

ansible-playbook -i inventář install.yml

Po úspěšném dokončení instalace byste měli získat následující výstup:

skipping:[localhost]TASK [local_docker :Load web image] *************************************** ******************************************************* *********************** přeskakování:[localhost]TASK [local_docker :Načíst obrázek úkolu] *************** ******************************************************* ********************************************* přeskakování:[localhost] ÚKOL [local_docker :Nastavit úplná cesta k obrazu pro místní instalaci] ************************************************ ********************************************* přeskakování:[localhost] ÚKOL [local_docker :Nastavit DockerHub Image Paths] ******************************************************** *************************************************OK :[localhost]TASK [local_docker :Vytvořte adresář ~/.awx/awxcompose] ************************************** ******************************************************* ***změněno:[localhost]TASK [local_docker:Vytvořit konfiguraci Docker Compose] ************************************** ******************************************************* **změněno:[localhos t] => (item=environment.sh)změněno:[localhost] => (item=credentials.py)změněno:[localhost] => (item=docker-compose.yml)změněno:[localhost] => (položka =nginx.conf) ÚLOHA [local_docker:Vykreslení souboru SECRET_KEY] ****************************************** ******************************************************* *********** změněno:[localhost]TASK [local_docker :Spustit kontejnery] ************************** ******************************************************* ************************ změněno:[localhost]TASK [local_docker :Aktualizace důvěryhodnosti CA v kontejneru awx_web] ********** ******************************************************* ************************ změněno:[localhost]TASK [local_docker :Aktualizace důvěryhodnosti CA v kontejneru awx_task] ********** ******************************************************* *********************** změněno:[localhost] PLAY RECAP ******************** ******************************************************* ******************************************************* ************ localhost:ok=14 změna d=6 nedostupné=0 selhalo=0 přeskočeno=95 zachráněno=0 ignorováno=0 

Výše uvedený příkaz vytvoří a spustí všechny požadované kontejnery Docker pro AWX. Spuštěné kontejnery můžete ověřit pomocí následujícího příkazu:

docker ps

Měli byste vidět následující výstup:

ID KONTEJNERU OBRÁZKOVÝ PŘÍKAZ VYTVOŘEN STAV JMÉNA PORTŮ4b91575d64b1 ansible/awx_task:9.2.0 "/tini -- /bin/sh -c…" Asi před minutou Nahoru Asi před minutou 8052/tcp awx_task91250aw_awsible:39 "/tini -- /bin/sh -c…" Asi před minutou Nahoru Asi minutou 0.0.0.0:80->8052/tcp awx_web47300ec1c26f postgres:10 "docker-entrypoint.s..." Asi před minutou Nahoru O a minuta 5432/tcp awx_postgres166b153faa27 ansible/awx_rabbitmq:3.7.4 "docker-entrypoint.s…" Asi před minutou Zvýšení o 58 sekund 4369/tcp, 5671-5672/tcp:0mrab3015672721-1566 "docker-entrypoint.s..." Asi před minutou Nahoru O a minuta 11211/tcp awx_memcached

Konfigurovat SELinux a bránu firewall

Ve výchozím nastavení je SELinux povolen v CentOS 8. Pro práci s AWX v prostředí Docker se doporučuje jej zakázat. Můžete jej zakázat úpravou následujícího souboru:

nano /etc/sysconfig/selinux

Najděte následující řádek:

SELINUX=vynucování

A nahraďte jej následujícím řádkem:

SELINUX=zakázáno

Po dokončení uložte a zavřete soubor. Poté restartujte systém, abyste provedli změny. Dále budete muset povolit službu http a https prostřednictvím brány firewall. Můžete je povolit pomocí následujícího příkazu:

firewall-cmd --zone=public --add-masquerade --permanent
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add- service=https

Poté restartujte službu firewalld, aby se změny projevily:

firewall-cmd --reload

Přístup k webovému rozhraní AWX

Nyní otevřete webový prohlížeč a zadejte adresu URL http://ip-vaseho-serveru. Budete přesměrováni na přihlašovací stránku AWX:

Zadejte své uživatelské jméno a heslo správce, které jste definovali v souboru inventáře, a klikněte na SIGN IN knoflík. Výchozí řídicí panel AWX byste měli vidět na následující stránce:

Závěr

Gratulujeme! úspěšně jste nainstalovali AWX s Dockerem na CentOS 8. Nyní můžete svůj projekt Ansible snadno spravovat a ovládat pomocí webového rozhraní AWX.


Cent OS
  1. Jak nainstalovat Docker v CentOS

  2. Jak nainstalovat Ansible na CentOS 7

  3. Jak nainstalovat Ansible na CentOS 8

  1. Jak nainstalovat Docker na CentOS 7

  2. Jak nainstalovat Docker Compose na CentOS 7

  3. Jak nainstalovat Docker na CentOS 8

  1. Jak nainstalovat MongoDB na CentOS 8

  2. Jak nainstalovat Rancher na CentOS 7

  3. Jak nainstalovat Docker CE na RHEL 8 / CentOS 8