GNU/Linux >> Znalost Linux >  >> Debian

Jak nainstalovat a používat Ansible na Debian 11

Ansible je bezplatný, open source a jeden z nejoblíbenějších nástrojů pro správu konfigurace. Jedná se o multiplatformní nástroj, který zjednodušuje cloud computing, správu konfigurace, instalaci balíčků a konfiguraci služeb. Používá soubor YAML, který obsahuje kroky, které chce uživatel spustit na konkrétním počítači. Pomocí Ansible můžete jediným příkazem konfigurovat a spravovat více než jen hostitele. Ansible je alternativou k ostatním nástrojům pro správu konfigurace, jako je Chef a Puppet.

V tomto článku vám ukážu, jak nainstalovat a používat nástroj pro správu konfigurace Ansible v Debianu 11.

Předpoklady

  • Tři servery se systémem Debian 11.
  • Na každém serveru je nakonfigurováno heslo uživatele root.

Pro účely tohoto tutoriálu použijeme následující nastavení:

  • Ansible Controler – 192.168.10.9
  • Hostitelé Ansible – 192.168.10.10, 192.168.10.11

Instalovat Ansible na Debian 11

Ve výchozím nastavení není balíček Ansible součástí výchozího úložiště Debianu. Existují dva způsoby, jak nainstalovat Ansible na Debian 11.

  1. Použití příkazu APT
  2. Použití příkazu PIP

Instalovat Ansible pomocí APT

Nejprve budete muset do vašeho systému nainstalovat některé závislosti. Požadované závislosti můžete nainstalovat pomocí následujícího příkazu:

apt-get install gnupg2 curl wget -y

Jakmile jsou všechny závislosti nainstalovány, upravte APT source.list a přidejte úložiště Ansible:

nano /etc/apt/sources.list

Přidejte následující řádek:

deb http://ppa.launchpad.net/ansible/ansible/ubuntu focal main

Po dokončení uložte a zavřete soubor, poté přidejte klíč Ansible GPG pomocí následujícího příkazu:

apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 93C4A3FD7BB9C367

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

Upozornění:apt-key je zastaralý. Místo toho spravujte soubory klíčů v trusted.gpg.d (viz apt-key(8)). Spuštění:/tmp/apt-key-gpghome.lFEjztT9TY/gpg.1.sh --keyserver keyserver.ubuntu.com --recv- klíče 93C4A3FD7BB9C367gpg:klíč 93C4A3FD7BB9C367:veřejný klíč "Launchpad PPA for Ansible, Inc." importedgpg:Celkový počet zpracovaných:1gpg:importováno:1

Nyní aktualizujte úložiště a nainstalujte Ansible pomocí následujícího příkazu:

apt-get update
apt-get install ansible -y

Jakmile je Ansible nainstalován, ověřte verzi Ansible pomocí následujícího příkazu:

ansible --version

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

ansible 2.10.8 konfigurační soubor =Žádná nakonfigurovaná cesta pro hledání modulu =['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules'] umístění modulu ansible python =/usr/ lib/python3/dist-packages/ansible spustitelné umístění =/usr/bin/ansible verze pythonu =3.9.2 (výchozí, 28. února 2021, 17:03:44) [GCC 10.2.1 20210110]

Instalovat Ansible pomocí PIP

Nejprve budete muset nainstalovat Python a PIP do vašeho systému. Můžete jej nainstalovat pomocí následujícího příkazu:

apt-get install python3 python3-pip -y

Po dokončení instalace použijte příkaz pip k instalaci Ansible, jak je znázorněno níže:

pip install ansible

Instalovat sshpass

Sshpass je nástroj příkazového řádku, který vám umožňuje zadat hesla pomocí příkazů SSH. Zde použijeme sshpass na uzlu ovladače Ansible s Ansible k ověření vzdáleného hostitele.

Sshpass můžete nainstalovat pomocí následujícího příkazu:

apt-get install sshpass -y

Dále se připojte k prvnímu dostupnému vzdálenému hostiteli a přidejte otisk SSH ke svým známým_hostitelům soubor:

ssh [e-mail chráněný]

Budete požádáni o zadání hesla SSH, jak je uvedeno níže:

Autentičnost hostitele „192.168.10.10 (192.168.10.10)“ nelze zjistit. Otisk klíče ECDSA je SHA256:q3zMoJ6qdjYvAdL7/w4Z0gm0ZEgGOB+rNIPKEMdYS6o.pokračujte v připojování[jste si jisti, že chcete ])? yesWarning:Trvale přidáno '192.168.10.10' (ECDSA) do seznamu známých hostitelů.Heslo:

Zadejte své heslo a stisknutím klávesy Enter přidejte otisk SSH.

Dále se připojte k druhému vzdálenému hostiteli a přidejte otisk SSH do svého souboruknown_hosts:

ssh [e-mail chráněný]

Budete požádáni o zadání hesla SSH, jak je uvedeno níže:

Autentičnost hostitele '192.168.10.11 (192.168.10.11)' nelze zjistit. Otisk klíče ECDSA je SHA256:q3zMoJ6qdjYvAdL7/w4Z0gm0ZEgGOB+rNIPKEMdYS6o.pokračujte v připojování[jste si jisti, že chcete. ])? anoUpozornění:Trvale přidáno '192.168.10.11' (ECDSA) do seznamu známých hostitelů.Heslo:

Zadejte své heslo a stiskněte Enter .

Nyní můžete k ověření připojení SSH použít příkaz sshpass:

sshpass -p vaše heslo ssh [chráněno e-mailem]

Vytvořit soubor inventáře Ansible Hosts

Dále budete muset vytvořit soubor inventáře k definování IP adresy, uživatelského jména, hesla a portu SSH vašich vzdálených hostitelů:

nano ~/.hosts

Přidejte následující řádky:

[servers]server1 ansible_host=192.168.10.10 ansible_user=root ansible_ssh_pass=heslo ansible_ssh_port=22server2 ansible_host=192.168.10.11 ansible_user=root ansible_ssh_sh_pass=presword ansible> 

Uložte a zavřete soubor.

Poznámka :Ve výše uvedeném souboru použijeme IP, uživatelské jméno, heslo a port SSH vzdálených hostitelů.

Práce s Ansible

Ansible poskytuje spoustu modulů, které vám pomohou spravovat vzdálené hostitele.

Základní syntaxe pro spuštění Ansible, jak je ukázáno níže:

ansible -i [soubor_inventáře] -m [modul] [hostitel]

Pojďme ověřit připojení ping ke všem hostitelům:

ansible -i ~/.hosts -m ping all

Pokud je vše v pořádku, měli byste získat následující výstup:

server2 | ÚSPĚCH => { "ansible_facts":{ "discovered_interpreter_python":"/usr/bin/python3" }, "changed":false, "ping":"pong"}server1 | ÚSPĚCH => { "ansible_facts":{ "discovered_interpreter_python":"/usr/bin/python3" }, "changed":false, "ping":"pong"}

Chcete-li ověřit připojení pomocí příkazu ping jediného serveru1, spusťte následující příkaz:

ansible -i ~/.hosts -m ping server1

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

server1 | ÚSPĚCH => { "ansible_facts":{ "discovered_interpreter_python":"/usr/bin/python3" }, "changed":false, "ping":"pong"}

Pro spouštění všech příkazů na vzdálených hostitelích můžete použít modul shell.

Chcete-li například spustit "free -m " na server2, spusťte následující příkaz:

ansible -i ~/.hosts -m shell -a "free -m" server2

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

server2 | ZMĚNĚNO | rc=0>> celkem využitý bezplatný sdílený buff/mezipaměť:1982 128 491 2 1363 1669Swap:0 0 0

Chcete-li spustit příkaz df -h " commad na serveru2, spusťte následující příkaz:

ansible -i ~/.hosts -m shell -a "df -h" server2

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

server2 | ZMĚNĚNO | rc=0>>Velikost souborového systému Použitá Avail Využití% Namontovaný onudev 976M 0 976M 0% /devtmpfs 199M 404K 198M 1% /run/dev/sda1 50G 2.4G 45G 5% /tmpfs 9292M shtm% sh092M.0 0 5,0 mil. 0 % /běh/locktmpfs 199 mil. 0 199 mil. 0 % /běh/uživatel/0

Ansible poskytuje modul apt pro instalaci libovolného balíčku na vzdálené hostitele.

Chcete-li nainstalovat Nginx balíček na server1, spusťte následující příkaz:

ansible -i ~/.hosts -m ansible.builtin.apt -a "name=nginx state=present" server1

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

server1 | CHANGED => { "ansible_facts":{ "discovered_interpreter_python":"/usr/bin/python3" }, "cache_update_time":1631424599, "cache_updated":false, "changed":true, "stderr":"", "stderr_line" ":[], "Upgradování binárního:nginx.", "Nastavení nginx (1.18.0-6.1) ...", "Zpracování spouštěčů pro man-db (2.9.4-2) ...", "Zpracování spouští pro libc-bin (2.31-13) ...“ ]}

Chcete-li zkontrolovat stav služby Nginx na serveru1, spusťte následující příkaz:

ansible -i ~/.hosts -m shell -a "systemctl status nginx" server1

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

server1 | ZMĚNĚNO | rc=0>>? nginx.service – vysoce výkonný webový server a reverzní proxy server Načteno:načteno (/lib/systemd/system/nginx.service; povoleno; přednastaveno dodavatelem:povoleno) Aktivní:aktivní (běží) od neděle 2021-09-12 05 :55:36 UTC; před 49 s Dokumenty:man:nginx(8) Proces:10761 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (kód=ukončeno, stav=0/ÚSPĚCH) Proces:10764 ExecStart=/usr/sbin/nginx -g démon zapnut; master_process on; (code=exited, status=0/SUCCESS) Hlavní PID:10871 (nginx) Úkoly:2 (limit:2341) Paměť:5,8M CPU:54ms CGroup:/system.slice/nginx.service ??10871 nginx:hlavní proces /usr/sbin/nginx -g démon zapnutý; master_process on; ??10874 nginx:worker processSep 12 05:55:36 ansible systemd[1]:Spuštění vysoce výkonného webového serveru a reverzního proxy serveru...Sep 12 05:55:36 ansible systemd[1]:nginx.service:Nepodařilo se analyzovat PID ze souboru /run/nginx.pid:Neplatný argumentSep 12 05:55:36 ansible systemd[1]:Spuštěno Vysoce výkonný webový server a reverzní proxy server.

Ansible poskytuje uživatelský modul pro vytváření a správu uživatelů na vzdálených hostitelích.

Chcete-li vytvořit nového uživatele s názvem uživatel1 na server1 spusťte následující příkaz:

ansible -i ~/.hosts -m ansible.builtin.user -a "jméno=uživatel1 heslo=vaše heslo" server1

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

server1 | CHANGED => { "ansible_facts":{ "discovered_interpreter_python":"/usr/bin/python3" }, "changed":true, "comment":"", "create_home":true, "group":1000, "home ":"/home/user1", "name":"user1", "password":"NOT_LOGGING_PASSWORD", "shell":"/bin/sh", "state":"současnost", "system":false, "uid":1000}

Závěr

V tomto článku jste se naučili, jak nainstalovat Ansible s APT a PIP. Také jste se naučili, jak používat různé moduly Ansible ke správě vzdálených hostitelů. Doufám, že nyní dostatečně rozumíte Ansible. Neváhejte se mě zeptat, pokud máte nějaké otázky.


Debian
  1. Jak nainstalovat a používat NVM na Debian 11

  2. Jak nainstalovat a používat FFmpeg na Debianu 10

  3. Jak nainstalovat Ansible na Debian 11

  1. Jak nainstalovat a používat Debian Backports

  2. Jak nainstalovat a používat PHP Composer na Debian 10

  3. Jak používat Ansible k instalaci a konfiguraci Redis 6 na Debian 11

  1. Jak nainstalovat a používat Docker na Debian 9

  2. Jak nainstalovat a používat Docker Compose na Debianu 9

  3. Jak nainstalovat a používat PHP Composer na Debianu 9