Úvod
Ansible je nástroj Infrastructure as Code, který vám umožňuje monitorovat a ovládat velké množství serverů z jednoho centrálního umístění.
Klíčovou výhodou Ansible oproti jiným podobným systémům je, že používá konfigurační soubory SSH a YAML a nevyžaduje žádný další specializovaný software.
Tento tutoriál vysvětluje, jak nainstalovat a nakonfigurovat Ansible na Ubuntu 20.04.
Předpoklady
- Systém se systémem Ubuntu 20.04
- Přístup do příkazového řádku / okna terminálu
Krok 1:Konfigurace Ansible Control Node, hostitele a páru klíčů SSH
Před instalací Ansible na Ubuntu se ujistěte, že máte nastaveno několik věcí. Konfigurace vyžaduje řídicí uzel Ansible a jednoho nebo více hostitelů Ansible.
Konfigurace řídicího uzlu Ansible
Chcete-li nastavit ovládací uzel Ansible, přihlaste se jako uživatel root. Vytvořte dalšího (nerootového) uživatele s administrátorskými právy a poté pro nového uživatele přidejte pár klíčů SSH.
1. Jako root přidejte uživatele na úrovni správce pro řídicí uzel. Použijte adduser
příkaz:
# adduser [username]
2. Definujte silné heslo účtu a případně odpovězte na seznam otázek.
3. Stiskněte Enter přeskočit kterékoli z polí, které momentálně nechcete vyplňovat.
4. Nový účet je připraven. Nyní účtu přidělte přístup pro správce. Následující příkaz přiděluje oprávnění superuživatele a umožňuje účtu používat sudo
příkaz:
# usermod -aG sudo [username]
Pomocí sudo
nový uživatel je nyní schopen provádět administrativní úlohy. Pokud chcete používat ovládací uzel Ansible, přihlaste se k novému uživatelskému účtu.
Nastavení páru klíčů SSH
1. Do terminálu řídicího uzlu Ansible zadejte následující příkaz:
$ ssh-keygen
2. Stiskněte Enter zobrazuje následující výstup:
3. Pokud již máte pár klíčů SSH nastaven, systém zobrazí výstup níže. Rozhodněte, zda chcete přepsat existující pár klíčů SSH.
4. Nakonec budete vyzváni k zadání přístupové fráze. Důrazně doporučujeme přidat silnou přístupovou frázi, abyste předešli případným problémům se zabezpečením v budoucnu:
Výstup by měl být podobný níže uvedenému:
Konfigurace Ansible Host
Hostitelé Ansible jsou vzdálené servery, které jsou monitorovány a řízeny řídicím uzlem Ansible. Každý hostitel musí mít klíč SSH řídicího uzlu v adresáři autorizovaných klíčů uživatele systému.
1. Nejjednodušší způsob, jak nastavit veřejný klíč SSH, je zkopírovat jej pomocí ssh-copy-id
příkaz:
$ ssh-copy-id [email protected]_host
2. Při prvním použití tohoto příkazu se může zobrazit následující zpráva:
Tento druh výstupu je normální a objeví se, když se poprvé připojíte k novému vzdálenému hostiteli.
3. Chcete-li pokračovat, jednoduše zadejte yes
a stiskněte Enter .
Nástroj nyní hledá veřejnou část páru klíčů vygenerovaného v předchozím kroku.
4. Jakmile jej najde, zadejte heslo účtu vzdáleného hostitele.
5. Potvrďte heslo stisknutím klávesy Enter . Obslužný program nahraje veřejný klíč na účet vzdáleného hostitele a zobrazí následující výstup:
Krok 2:Nainstalujte Ansible
1. Ujistěte se, že index balíčků vašeho systému je aktuální. Obnovte index balíčku příkazem:
$ sudo apt update
2. Dále nainstalujte Ansible na Ubuntu příkazem:
$ sudo apt install ansible
3. Instalace vás vyzve ke stisknutí Y
potvrdit, přičemž zbytek instalačního procesu bude zautomatizován.
Po instalaci může řídicí uzel Ansible spravovat vzdálené hostitele.
Krok 3:Nastavení souboru inventáře
Nastavte soubor inventáře vzdálených hostitelů, aby s nimi mohla Ansible komunikovat.
1. Pro přístup k souboru inventáře použijte následující příkaz v terminálu řídicího uzlu:
$ sudo nano /etc/ansible/hosts
Výchozí cesta k souboru inventáře Ansible je /etc/ansible/hosts
, ale můžete také zadat vlastní cestu pomocí -i
parametr:
2. S otevřeným souborem inventáře nyní můžete začít přidávat vzdálené hostitele, které bude váš řídicí uzel spravovat. Výchozí soubor inventáře Ansible začíná seznamem obecných rad a příkladů pro vytváření seznamu vzdálených hostitelů:
3. Přejděte na konec souboru a přidejte nové hostitele a seřaďte je do kategorií. Při přidávání hostitelů a kategorií použijte následující formát:
[category name]
server_name ansible_host=[server_ip]
V tomto příkladu jsme přidali vzdáleného hostitele s názvem server1 pomocí jeho IP adresy a seřadil jej do [servers]
kategorie:
4. Jakmile dokončíte přidávání položek do inventáře Ansible, stiskněte Ctrl +X a poté stiskněte Y uložit soubor inventáře.
5. Po nastavení souboru inventáře jej můžete kdykoli znovu zkontrolovat pomocí:
$ ansible-inventory --list -y
V okně terminálu se zobrazí výstup se seznamem infrastruktury hostitelů:
Krok 4:Testování připojení
Posledním krokem je ujistit se, že se řídicí uzel Ansible připojuje ke vzdáleným hostitelům a spouští příkazy.
1. Chcete-li otestovat spojení s hostiteli, použijte následující příkaz v terminálu na vašem řídicím uzlu:
$ ansible all -m ping
2. Za normálních okolností to bude uživatel bez oprávnění root, kterého jsme již nastavili v kroku 1. Pokud z jakéhokoli důvodu potřebujete otestovat připojení jako výchozí uživatel root, můžete zahrnout -u
argument s příkazem:
$ ansible all -m ping -u root
Spuštění příkazu vytvoří výstup podobný následujícímu:
3. Pokud se ke vzdáleným hostitelům připojujete poprvé, Ansible vás požádá o potvrzení, že hostitelé jsou autentickí. Po zobrazení výzvy zadejte „ano“ a potvrďte pravost stisknutím klávesy Enter.
Když všichni vzdálení hostitelé odpoví „pong“ zpět, jste připraveni spustit příkazy přes ovládací uzel Ansible.