Sobes.tech
Middle+

Ako nainštalujete softvér na veľké množstvo strojov, ak nemáte Ansible a Python?

sobes.tech AI

Odpoveď od AI

Budú použiť jednu z nasledujúcich stratégií:

  1. Bash skripty s použitím SSH. Vytvorím skript, ktorý postupne pristupuje ku každému serveru cez SSH a vykonáva inštalačné príkazy.

    #!/bin/bash
    
    SERVERS=("server1" "server2" "server3") # Zoznam serverov
    
    for SERVER in "${SERVERS[@]}"; do
      echo "Pripájam sa k ${SERVER}..."
      ssh ${SERVER} << EOF
      # Príkazy na inštaláciu softvéru na vzdialenom serveri
      sudo apt update
      sudo apt install -y package-name
    EOF
      echo "Inštalácia na ${SERVER} ukončená."
    done
    

    Výhody: Jednoduchosť pre základné úlohy, nevyžaduje ďalšie nástroje. Nevýhody: Škálovateľnosť, riadenie chýb, absencia idempotencie.

  2. Distribúcia balíkov. Vytvorím balíky (deb, rpm) s potrebným softvérom a závislosťami. Následne ich rozšírim na servery a nainštalujem pomocou štandardných správcu balíkov (apt, yum). Môže sa použiť utilitárny scp na kopírovanie balíkov a SSH na spustenie inštalačných príkazov.

    #!/bin/bash
    
    SERVERS=("server1" "server2" "server3")
    PACKAGE_PATH="/path/to/package.deb"
    
    for SERVER in "${SERVERS[@]}"; do
      echo "Kopírujem balík na ${SERVER}..."
      scp ${PACKAGE_PATH} ${SERVER}:/tmp/package.deb
    
      echo "Inštalujem balík na ${SERVER}..."
      ssh ${SERVER} "sudo dpkg -i /tmp/package.deb"
    
      echo "Inštalácia na ${SERVER} ukončená."
    done
    

    Výhody: Použitie natívnych správcu balíkov, riadenie závislostí. Nevýhody: Vyžaduje vytváranie a údržbu balíkov.

  3. Použitie špecializovaného softvéru na nasadzovanie. Existujú nástroje určené na rozširovanie softvéru a obrazov, napríklad:

    • PXE Boot (Preboot Execution Environment): Na inštaláciu operačných systémov a základného softvéru pri štarte cez sieť.
    • Clonezilla: Na klonovanie diskov alebo oddielov.
    • Vlastné skripty s rsync: Na synchronizáciu súborov a adresárov so softvérom.

    Každý nástroj je vhodný pre svoj scenár. PXE je vhodný pre počiatočnú inštaláciu OS, Clonezilla pre rýchle nasadenie identických obrazov, rsync pre synchronizáciu konfiguračných súborov a spustiteľných súborov.

Výber metódy závisí od špecifík softvéru, počtu serverov, požiadaviek na automatizáciu a úrovne expertízy. Najskôr zvážim bash skripty pre jednoduché prípady a správcu balíkov pre zložitejšie scenáre s závislosťami.