Red Hat poskytl dva nástroje GUI pro centralizovanou správu vzdálených uzlů pomocí Ansible.
- Ansible Tower
- AWX
Ansible Tower je webové rozhraní a koncový bod REST API pro Ansible. Poskytuje centralizované protokolování a auditování, řízení přístupu na základě rolí a nasazení pomocí tlačítek.
AWX je automatizační nástroj založený na Ansible Tower, který poskytuje webové grafické rozhraní, REST API a také modul úloh, který uživatelům umožňuje spravovat jejich projekty Ansible . Jinými slovy můžeme AWX je open source verze Anisble Tower. S AWX můžete provádět řadu úkolů včetně správy zásob , automatizace pracovního postupu , plánování úloh , správa přihlašovacích údajů a přehledy abych zmínil jen několik.
Jednou z výhod AWX je, že můžete využít všechny podnikové funkce dodávané s Ansible Tower pro neomezený počet uzlů. Jinými slovy, limit 10 uzlů se nevztahuje na AWX. Navíc je AWX ideální pro laboratorní nebo vývojová prostředí. Ve srovnání s Ansible Tower však není považován za ideální nástroj pro produkční prostředí .
AWX potřebuje ke svému fungování kontejnerizované prostředí. Mezi několik možností, které podporují AWX, patří Kubernetes , OpenShift a Docker Compose . V této příručce však budeme používat Docker compose, protože je poměrně snadné jej nastavit a je nenáročný na zdroje.
Požadavky na Ansible AWX
Než začneme, ujistěte se, že uzel CentOS 8 má následující:
- 4 GB paměti RAM
- 3,4 GHz CPU se 2 jádry
- 20 GB místa na pevném disku
- CentOS 8 musí používat Openshift, Docker nebo Kubernetes
- Ansible musí být již nainstalován
Když jsou všechny požadavky splněny, pojďme do toho!
Krok 1) Nainstalujte EPEL na CentOS 8
Začněte instalací EPEL na uzel CentOS 8, protože poskytuje některé základní balíčky vyžadované AWX. Proto se přihlaste jako uživatel root ke svému uzlu CentOS 8 a spusťte příkaz:
[[email protected] ~]# dnf install epel-release -y
Krok 2) Nainstalujte další balíčky a závislosti
Navíc musíme udělat další krok a nainstalovat základní balíčky, které budou vyžadovány při instalaci AWX:
[[email protected] ~]# dnf install git gcc gcc-c++ nodejs gettext device-mapper-persistent-data lvm2 bzip2 python3-pip
Ukázkový výstup
Krok 3) Nainstalujte Docker CE na CentOS 8
RedHat / CentOS již nepodporuje přímou instalaci dockeru, takže pokud spustíte dnf install docker-ce, narazíte na chybu. Chcete-li nainstalovat docker na CentOS 8, musíme k systému připojit úložiště Docker pomocí nástroje dnf config-manager.
[[email protected] ~]# dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
Dalším krokem je instalace Dockeru, spusťte příkaz:
[[email protected] ~]# dnf install docker-ce-3:18.09.1-3.el7
Nyní spusťte následující příkaz, abyste věděli, jakou přesnou verzi dockeru jsme nainstalovali.
[[email protected] ~]# rpm -qa | grep docker or [[email protected] ~]# docker --version
Nyní pokračujte ke spuštění a povolení dockeru pomocí příkazů
[[email protected] ~]# systemctl start docker [[email protected] ~]# systemctl enable --now docker.service
S nainstalovaným dockerem můžeme nyní přistoupit k instalaci Docker compose.
Poznámka: Spusťte následující příkaz a nastavte příkaz python tak, aby používal python 3, protože v CentOS 8 a RHEL8 je python 3 nainstalován jako závislost, když instalujeme ansible
[[email protected] ~]# alternatives --set python /usr/bin/python3
Krok 4) Nainstalujte Docker-Compose na CentOS 8
Pro instalaci docker-compose použijeme příkaz pip. Pip je správce balíčků pythonu, který vám umožňuje instalovat balíčky pythonu.
K instalaci použijeme pip3, protože systém běží pomocí python3
[[email protected] ~]# pip3 install docker-compose
Skvělý! nyní můžeme přistoupit k instalaci AWX.
Krok 5) Nainstalujte Ansible AWX
Chcete-li nainstalovat AWX, nejprve naklonujte úložiště Git, jak je znázorněno:
[[email protected] ~]# git clone https://github.com/ansible/awx.git
Dále přejděte do adresáře awx/installer a vyhledejte soubor inventáře. Musíme upravit několik parametrů:
Poznámka: Nezapomeňte nastavit výchozí interpret pythonu na python3
[[email protected] ~]# cd awx/installer/ [[email protected] installer]# vi inventory localhost ansible_connection=local ansible_python_interpreter="/usr/bin/env python3" postgres_data_dir=/var/lib/pgdocker awx_official=true project_data_dir=/var/lib/awx/projects awx_alternate_dns_servers="4.2.2.1,4.2.2.2"
Stejně zásadní je potřeba nakonfigurovat heslo Admin &Postgres
[email protected] [email protected]
Poté nezapomeňte vygenerovat kryptografický klíč pro šifrování souboru inventáře
[[email protected] ~]# openssl rand -base64 30
Zkopírujte tajný klíč a připojte jej k položce secret_key v inventárním souboru,
secret_key=SGYsSWciI5yRDQeZuEm5wW98pQeJMG+ACABPsGfC
Uložte a ukončete soubor inventáře.
Pro potvrzení a vytištění provedených změn spusťte příkaz:
[[email protected] installer]# grep -v '^#' inventory | grep -v '^$'
Chcete-li nainstalovat AWX, spusťte příkaz Ansible:
[[email protected] installer]# ansible-playbook -i inventory install.yml
Dockerovi to trvá asi 4–5 minut, než spustí potřebné nádoby a postaví nádoby, tak se uvolněte a vychutnejte si svůj šálek čaje! Níže uvedený výstup bude potvrzením, že vše proběhlo naprosto v pořádku.
Po dokončení instalace můžete zkontrolovat kontejnery, které se spouštějí pomocí docker-compose
[[email protected] installer]# docker ps
V případě, že je povolena a spuštěna brána firewall OS, povolte port http (80) a https (443) pomocí následujících příkazů,
[[email protected] installer]# firewall-cmd --zone=public --add-masquerade --permanent [[email protected] installer]# firewall-cmd --permanent --add-service=http [[email protected] installer]# firewall-cmd --permanent --add-service=https [[email protected] installer]# firewall-cmd --reload
Krok 5) Přístup k portálu GUI AWX
Chcete-li získat přístup k webové konzoli AWX, otevřete prohlížeč a zadejte IP adresu serveru AWX svého Ansible a stiskněte ENTER.
http://awx-server-ip-address
Zadejte uživatelské jméno a heslo pro správce a stiskněte ENTER. Poté se zobrazí řídicí panel AWX, jak je znázorněno:
A takto nainstalujete AWX pomocí docker-compose na server CentOS 8.