V našem předchozím článku jsme již demonstrovali kroky instalace Ansible AWX na CentOS 8 a RHEL 8. Ansible AWX je bezplatná a open source verze Red Hat Ansible Tower. Poskytuje grafické uživatelské rozhraní, Rest API a Ansible task engine.
V tomto článku se podíváme na některá světla základního použití Ansible AWX GUI a jak můžeme spouštět a plánovat Ansible Playbooks pomocí tohoto nástroje.
Podrobnosti laboratoře pro GUI AWX,
- 192.168.1.6 // Již nainstalovaný systém Ansible AWX (CentOS 8)
- 192.168.1.9 // Klient Ansible (CentOS 7)
- 192.168.1.10 // Ansible Client (Ubuntu 18.04)
- Časová synchronizace všech počítačů se servery NTP
- uživatel systému sysadm s právy sudo
Pojďme se vrhnout na kroky základního použití AWX a spouštění příruček Ansible prostřednictvím GUI AWX,
Krok 1) Nastavení ověřování založeného na klíčích mezi uzlem Ansible AWX a jeho klienty
Protože používáme uživatele sysadm, budeme vyměňovat ssh klíče tohoto uživatele ze systému Ansbile AWX do ansible klientů.
Předpokládám, že uživatel sysadm je již na těchto systémech vytvořen a má práva sudo. Pomocí níže uvedených příkazů vygenerujte klíče SSH pro uživatele sysadm z AWX Node a sdílejte jeho veřejné klíče s dostupnými klienty pomocí příkazu ssh-copy-id,
[[email protected] ~]$ ssh-keygen
Nyní zkopírujte veřejný klíč uživatele sysadm do klientů
[[email protected] ~]$ ssh-copy-id [email protected] [[email protected] ~]$ ssh-copy-id [email protected]
Ověřte, zda byla autentizace na základě klíčů nastavena správně nebo ne, spusťte následující příkazy
[[email protected] ~]$ ssh [email protected] "hostname;exit" centos7 [[email protected] ~]$ ssh [email protected] "hostname;exit" Ubuntu-18-04 [[email protected] ~]$
Krok 2) Vytvořte organizaci v GUI AWX
Přihlaste se do GUI Ansible AWX a přejděte do Organizace Tab a vytvořte organizaci kliknutím na symbol „+“,
Dále budeme vyzváni k zadání Název organizace
Klikněte na Uložit
Krok 3) Vytvořte projekt a přiřaďte mu organizaci
Před vytvořením projektu nejprve vytvořte adresář projektu, kde budeme ukládat všechny dostupné playbooky, přejděte do konzole cli uzlu AWX a spusťte,
[[email protected] ~]$ sudo mkdir /var/lib/awx/projects/automation
Nyní vytvořte vzorovou příručku pro instalaci balíčků bind-utils na systémy CentOS a Ubuntu,
[[email protected] ~]$ cd /var/lib/awx/projects/automation/ [[email protected] automation]$ sudo vi example.yaml --- - hosts: all gather_facts: true become: true tasks: - yum: name: bind-utils when: ansible_os_family == "RedHat" - apt: name: dnsutils when: ansible_os_family == "Debian"
Uložte a ukončete soubor,
Nyní přejděte do GUI AWX a vyberte Projekty Tab a poté kliknutím na znaménko + vytvořte nový projekt a zadejte název projektu, který vyhovuje vašemu nastavení, a zadejte další podrobnosti, jako jsou Organizace jako „LINUXTECHI“ , Typ SCM jako „Ruční“ , Základní cesta projektu jako „/var/lib/projects“ a Adresář příruček jako „automatizace ”
Klikněte na Uložit
Krok 4) Vytvořte přihlašovací údaje a přidejte soukromý klíč a další podrobnosti
Tyto přihlašovací údaje budou použity při spouštění playbooků na cílových ansible klientech. Chcete-li získat obsah soukromého klíče SSH uživatele sysadm, spusťte následující příkaz:
[[email protected] ~]$ cat ~/.ssh/id_rsa
Nyní vyberte Přihlašovací údaje Tab a kliknutím na znaménko „+“ vytvořte přihlašovací údaje a vyberte Typ přihlašovacích údajů jako „Stroj “, Vyberte Organizace jako „LINUXTECHI “, Uživatelské jméno jako „sysadm “ a vložte soukromý klíč uživatele sysadm do „Soukromý klíč SSH ” vyberte možnost Metoda eskalace oprávnění “ jako „sudo ‘, ‘Uživatelské jméno pro eskalaci oprávnění “ jako „sysadm “ a „Heslo pro eskalaci oprávnění“ jako {password-of-sysadm-user}
Klikněte na SAVE,
Krok 5) Vytvořte inventář, přidejte do něj hostitele a spusťte modul ping
Chcete-li vytvořit inventář, vyberte Inventář Tab a poté klikněte na znaménko + a zadejte název inventáře a vyberte organizaci jako „LINUXTECHI “,
Chcete-li přidat hostitele do rozhraní Inventář, ve výše uvedeném okně vyberte možnost ULOŽIT a poté klikněte na HOSTITELÉ a kliknutím na symbol „+“ začněte přidávat hostitele. Zadejte IP ADRESU nebo název hostitele do pole „NÁZEV HOSTITELE ” a poté klikněte na uložit.
Podobně přidejte dalšího hostitele „192.168.1.10“.
Zkusme spustit modul ping na jednom z hostitelů, abychom ověřili připojení a přihlašovací údaje. Vyberte libovolného hostitele z inventáře a klikněte na „SPUSTIT PŘÍKAZY ”
V dalším okně zvolte „ping “ ze sekce modulu a vyberte „automatizační přihlašovací údaje ” od Machine Credentials,
Klikněte na Spustit a poté se zobrazí následující obrazovka,
Perfektní, výše uvedené okno potvrzuje, že připojení a přihlašovací údaje fungují dobře. Pojďme k dalšímu kroku a vytvořte šablony.
Krok 5) Vytvořte a spusťte šablonu úlohy
Chcete-li vytvořit šablonu úlohy, zvolte „Šablona “ Tab a klikněte na znaménko + a vyberte „Šablona úlohy ”
Zadejte následující jako:
- NAME:Instalace PKG
- Popis:Nainstalujte Bind Utils PKG
- TYP ÚLOHY:Spustit
- INVENTÁŘ:Frontend
- PROJEKT:Automatizace
- PLAYBOOK:example.yaml
- PŘIHLÁŠENÍ :přihlašovací údaje pro automatizaci
- Vyberte „POVOLIT ESKALACI PRIVILEGE“
Klikněte na ULOŽIT
Nyní zkuste spustit úlohu a zjistěte, zda je úloha úspěšně provedena, zde provedení úlohy není nic jiného než provedení Ansible playbook na inventáři pomocí pověření, které jsme vytvořili ve výše uvedených krocích.
Vyberte úlohu jako „PKG Install “ a kliknutím na symbol rakety spusťte úlohu,
Zobrazí se následující obrazovka, pokud je Job nebo Ansible Playbook úspěšně proveden, měli bychom dostat zprávu o úspěchu.
Skvělé, úloha byla úspěšně provedena, nechte tuto úlohu naplánovat.
Krok 6) Plánování šablony úlohy
Vyberte šablonu úlohy, kterou chcete naplánovat, v mém případě by to bylo „PKG Install “ a vyberte „PLÁNOVÁNÍ ” a kliknutím na znaménko + vytvořte nový plán,
Předpokládejme, že chceme vytvořit rozvrh takovým způsobem, že úloha bude prováděna každý den v 16:00 hodin do 30. dubna,
Kliknutím na Uložit povolíte tento plán pro šablonu úlohy „instalace PKG “.
To je z tohoto článku vše, doufám, že tyto kroky pomohou porozumět základnímu použití Ansible AWX GUI a tomu, jak se Ansible Playbooks spouští prostřednictvím šablony Job. Neváhejte se podělit o své názory a komentáře.