SaltStack je bezplatný, open-source a Python založený software pro automatizaci a správu konfigurace. Je to nástroj příkazového řádku, který vám pomůže spravovat infrastrukturu z centrálního místa. SoltStack se skládá ze čtyř komponent. Stručné vysvětlení každé součásti je uvedeno níže:
- Mistr soli funguje jako ovladač příkazového řádku pro své přisluhovače. Používá se k ovládání a správě řady minionů.
- Mioni soli jsou slave démoni, kteří přijímají konfigurace a příkazy od hlavního.
- Vzorec jsou soubory pro správu konfigurace.
- Provedení je množství příkazů a modulů, které jsou vykonávány na minionech.
V tomto článku vám ukážu, jak nainstalovat systémy SaltStack Master a Minion na Debian 11.
Předpoklady
- Dva servery se systémem Debian 11.
- Na serveru je nakonfigurováno heslo uživatele root.
Instalovat Saltstack Master
Ve výchozím nastavení není SaltStack součástí výchozího úložiště Debian 11. Takže budete muset přidat úložiště SaltStack do APT. Můžete jej přidat spuštěním následujícího příkazu:
curl -fsSL -o /usr/share/keyrings/salt-archive-keyring.gpg https://repo.saltproject.io/py3/debian/11/amd64/latest/salt-archive-keyring.gpgecho "deb [signed-by=/usr/share/keyrings/salt-archive-keyring.gpg arch=amd64] https://repo.saltproject.io/py3/debian/11/amd64/latest bullseye main " | tee /etc/apt/sources.list.d/salt.listJakmile je úložiště přidáno, aktualizujte mezipaměť úložiště pomocí následujícího příkazu:
apt-get update -yDále nainstalujte požadované závislosti pomocí následujícího příkazu:
apt-get install python3 salt-common -yDále nainstalujte hlavní server SaltStack pomocí následujícího příkazu:
apt-get install salt-master -yPo úspěšné instalaci můžete přejít k dalšímu kroku.
Konfigurace Saltstack Master
Dále budete muset definovat rozhraní vazby v konfiguračním souboru SaltSTack.
nano /etc/salt/masterZměňte následující řádek:
rozhraní:0.0.0.0Uložte a zavřete soubor a poté restartujte hlavní server SaltStack pomocí následujícího příkazu:
systemctl restart salt-masterNyní můžete ověřit stav zásobníku SaltStack pomocí následujícího příkazu:
stav systemctl salt-masterZískáte následující výstup:
? salt-master.service – The Salt Master Server Načten:načten (/lib/systemd/system/salt-master.service; povoleno; přednastaveno dodavatelem:povoleno) Aktivní:aktivní (běží) od So 2022-02-12 07:39 :48 UTC; Před 9 s Dokumenty:man:salt-master(1) file:///usr/share/doc/salt/html/contents.html https://docs.saltproject.io/en/latest/contents.html Hlavní PID:19403 (salt-master) Úkoly:32 (limit:2341) Paměť:201,5M CPU:6,109s CGroup:/system.slice/salt-master.service ??19403 /usr/bin/python3 /usr/bin/salt- master ??19407 /usr/bin/python3 /usr/bin/salt-master ??19431 /usr/bin/python3 /usr/bin/salt-master ??19434 /usr/bin/python3 /usr/bin/salt -master ??19435 /usr/bin/python3 /usr/bin/salt-master ??19436 /usr/bin/python3 /usr/bin/salt-master ??19437 /usr/bin/python3 /usr/bin/ salt-master ??19444 /usr/bin/python3 /usr/bin/salt-master ??19445 /usr/bin/python3 /usr/bin/salt-master ??19446 /usr/bin/python3 /usr/bin /salt-master ??19448 /usr/bin/python3 /usr/bin/salt-master ??19451 /usr/bin/python3 /usr/bin/salt-master ??19454 /usr/bin/python3 /usr/bin/salt-masterFeb 12 07:39:48 debian11 systemd[1]:Spouštění serveru Salt Master Server... 12. února 07:39:48 debian11 systemd[1]:Spuštěn The Salt Master Server.Jakmile budete hotovi, můžete přejít k dalšímu kroku.
Instalace a konfigurace Saltstack Minion
V tomto okamžiku je SaltStack Master nainstalován a nakonfigurován. Nyní se přihlaste k jinému počítači a přidejte úložiště SaltStack Minion pomocí následujícího příkazu:
curl -fsSL -o /usr/share/keyrings/salt-archive-keyring.gpg https://repo.saltproject.io/py3/debian/11/amd64/latest/salt-archive-keyring.gpgecho "deb [signed-by=/usr/share/keyrings/salt-archive-keyring.gpg arch=amd64] https://repo.saltproject.io/py3/debian/11/amd64/latest bullseye main " | tee /etc/apt/sources.list.d/salt.listJakmile je úložiště přidáno, aktualizujte mezipaměť úložiště pomocí následujícího příkazu:
apt-get update -yDále nainstalujte SaltStack Minion pomocí následujícího příkazu:
apt-get install salt-minion -yPo úspěšné instalaci upravte konfigurační soubor SaltStack Minion a definujte hlavní IP adresu.
nano /etc/salt/minionZměňte následující řádek:
master:salt-master-ipPo dokončení uložte a zavřete soubor.
Dále budete muset ověřit miniony pomocí mistrova veřejného otisku prstu.
Na počítači Salt Master vypište všechny otisky pomocí následujícího příkazu:
salt-key --finger-allZískáte následující výstup:
Místní klíče:master.pem:b7:f0:ed:19:bf:e8:e0:9d:c3:9c:a2:09:2c:97:2f:6b:0f:cb:eb:76:3d:d7:d5:a9:7d:0c:3a:60:6e:9f:d7:78master.pub:5e:4f:2b:37:41:cc:4b:9c:b0:ed:cb:0a:fb:c7:59:54:5f:11:34:ab:d2:99:96:c1:e7:ef:4d:95:b0:7c:d3:d1Nyní zkopírujte řádek otisku master.pub a přidejte jej do konfiguračního souboru Minion.
Na počítači Minion upravte konfigurační soubor:
nano /etc/salt/minionPřidejte hlavní otisk prstu, jak je znázorněno níže:
master_finger:'5e:4f:2b:37:41:cc:4b:9c:b0:ed:cb:0a:fb:c7:59:54:5f:11:34:ab:d2:99:96:c1:e7:ef:4d:95:b0:7c:d3:d1'Budete také muset definovat jméno Miniona:
id:Minion1Uložte a zavřete soubor a poté restartujte SaltStack Minion pomocí následujícího příkazu:
systemctl restart salt-minionStav zařízení SaltStack Minion můžete také ověřit pomocí následujícího příkazu:
stav systemctl salt-minionZískáte následující výstup:
? salt-minion.service – The Salt Minion Načteno:načteno (/lib/systemd/system/salt-minion.service; povoleno; přednastaveno dodavatelem:povoleno) Aktivní:aktivní (běží) od So 2022-02-12 07:46:04 UTC; Před 7 s Dokumenty:man:salt-minion(1) file:///usr/share/doc/salt/html/contents.html https://docs.saltproject.io/en/latest/contents.html Hlavní PID:2324 (salt-minion) Úkoly:8 (limit:2341) Paměť:59,9M CPU:1,185s CGroup:/system.slice/salt-minion.service ??2324 /usr/bin/python3 /usr/bin/salt- minion ??2326 /usr/bin/python3 /usr/bin/salt-minion ??2328 /usr/bin/python3 /usr/bin/salt-minionFeb 12 07:46:04 debian11 systemd[1]:Starting The Salt Minion...Feb 12 07:46:04 debian11 systemd[1]:Spustil The Salt Minion.Otisk miniona můžete také zkontrolovat pomocí následujícího příkazu:
salt-call key.finger --localZískáte následující výstup:
local:14:12:ef:33:d2:1e:49:23:7b:a2:74:8d:19:fc:be:5e:6d:a6:57:ec:4f:a9:da :23:69:3f:62:1b:6b:4b:2f:27Na počítači SaltStack Master porovnejte otisk pomocí následujícího příkazu:
salt-key --finger-allZískáte následující výstup:
Místní klíče:master.pem:b7:f0:ed:19:bf:e8:e0:9d:c3:9c:a2:09:2c:97:2f:6b:0f:cb:eb:76:3d:d7:d5:a9:7d:0c:3a:60:6e:9f:d7:78master.pub:5e:4f:2b:37:41:cc:4b:9c:b0:ed:cb:0a:fb:c7:59:54:5f:11:34:ab:d2:99:96:c1:e7:ef:4d:95:b0:7c:d3:d1Nepřijaté klíče:Minion1:14:12:ef:33 :d2:1e:49:23:7b:a2:74:8d:19:fc:be:5e:6d:a6:57:ec:4f:a9:da:23:69:3f:62:1b:6b :4b:2f:27Na SaltStack Master přijměte Miniona pomocí následujícího příkazu:
salt-key -a Minion1Získáte následující výstup:
Budou přijaty následující klíče:Nepřijaté klíče:Minion1Pokračovat? [n/Y] YKey pro minion Minion1 přijat.Nyní ověřte spojení mezi Masterem a Minionem pomocí následujícího příkazu:
salt Minion1 test.pingZískáte následující výstup:
Minion1:PravdaJakmile budete hotovi, můžete přejít k dalšímu kroku.
Ovládejte přisluhovače z mistra
Po úspěšném spojení mezi Masterem a Minionem. Začněme provádět nějaké příkazy na Minionech.
Spuštěním následujícího příkazu zobrazíte seznam dostupného místa na disku na Minion:
salt '*' disk.usageZískáte následující výstup:
Minion1:---------- /:---------- 1K-bloky:51538400 dostupných:47658628 kapacita:4% souborový systém:/dev/sda1 použité:1661604 /dev :---------- 1K-bloky:998936 dostupných:998936 kapacita:0% souborový systém:udev použitý:0 /dev/shm:---------- 1K-bloky:1015232 dostupných :1015152 kapacita:1 % souborový systém:použité tmpfs:80Chcete-li nainstalovat balíček Apache na Minion, spusťte následující příkaz:
salt Minion1 pkg.install apache2Získáte následující výstup:
Minion1:---------- apache2:---------- nové:2.4.52-1~deb11u2 staré:apache2-bin:-------- -- nové:2.4.52-1~deb11u2 staré:apache2-data:---------- nové:2.4.52-1~deb11u2 staré:apache2-utils:-------- -- nové:2.4.52-1~deb11u2 staré:libapr1:---------- nové:1.7.0-6+deb11u1 staré:libaprutil1:---------- nové:1.6.1-5 staré:libaprutil1-dbd-sqlite3:---------- nové:1.6.1-5 staré:libaprutil1-ldap:---------- nové:1.6. 1–5 starý:Chcete-li zkontrolovat volnou paměť na Minionu, spusťte následující příkaz:
salt '*' cmd.run 'free -m'Získáte následující výstup:
Minion1:celkem využitý bezplatný sdílený buff/mezipaměť:1982 140 1392 2 450 1691 Swap:0 0 0Použití Salt State File ke správě minionů
Stavové soubory jsou také známé jako konfigurační soubory správy, které se používají ke konfiguraci a správě Minionů.
Chcete-li vytvořit soubor stavu, budete muset vytvořit základ prostředí pro SaltStack.
mkdir /src/saltDále vytvořte stavový soubor pomocí následujícího příkazu:
nano /src/salt/setup.slsPřidejte následující kód pro instalaci balíčku PHP, UNZIP a Apache na Minions:
network_utilities:pkg.installed:- pkgs:- php - unzip apache2_pkg:pkg.installed:- name:apache2 apache2_service:service.running:- name:apache2 - enable:True - required:- pkg:apache2_pkgUložte a zavřete soubor a poté použijte konfiguraci na všechny Miniony pomocí následujícího příkazu:
salt '*' state.apply setupZískáte následující výstup:
Minion1:---------- ID:network_utilities Funkce:pkg.installed Výsledek:True Komentář:Byly nainstalovány/aktualizovány následující balíčky:php, unzip Spuštěno:07:51:22.424504 Délka:17349,907 ms Změny:---------- libapache2-mod-php7.4:---------- nové:7.4.25-1+deb11u1 staré:php:------- --- nové:2:7.4+76 staré:php-běžné:---------- nové:2:76 staré:php7.4:---------- nové:7.4 .25-1+deb11u1 staré:php7.4-cli:---------- nové:7.4.25-1+deb11u1 staré:php7.4-běžné:---------- - Nový:7.4.25-1+deb11u1 staré:php7.4-json:---------- nové:7.4.25-1+deb11u1 staré:php7.4-opcache:--------- -- nové:7.4.25-1+deb11u1 staré:php7.4-readline:---------- nové:7.4.25-1+deb11u1 staré:psmisc:-------- -- nové:23.4-2 staré:rozbalit:---------- nové:6.0-26 staré:---------- ID:apache2_pkg Funkce:pkg.installed Název:apache2 Výsledek :Pravda Komentář:Všechny zadané balíčky jsou již nainstalovány Spuštěno:07:51:39.780956 Délka:1029,457 ms Změny:---------- ID:apache2_service Funkce:serv ice.running Jméno:apache2 Výsledek:Pravda Komentář:Služba apache2 již běží Spuštěno:07:51:40.812210 Délka:35,61 ms Změny:Souhrn pro Minion1------------Úspěšně:3 (změněno =1)Nezdařilo se:0------------ Celkový počet spuštěných stavů:3Celková doba běhu:18,415 sZávěr
Gratulujeme! úspěšně jste nainstalovali a nakonfigurovali SaltStack Master a Minion na serveru Debian 11. Také jsme vysvětlili, jak spravovat přisluhovače pomocí stavových souborů a příkazového řádku. Doufám, že vám to pomůže automatizovat a spravovat vaši infrastrukturu z centrálního místa. Pokud máte nějaké dotazy, neváhejte se mě zeptat.
Debian