Sobes.tech
Middle+

Kuidas te installite tarkvara suure hulga masinatesse, kui teil pole Ansible ja Python?

sobes.tech AI

Vastus AI-lt

Ma kasutan ühte järgmistest strateegiatest:

  1. Bash-skriptid SSH kasutamisega. Loon skripti, mis järjest ühendub iga serveriga SSH kaudu ja täidab installatsioonikäsklusi:

    #!/bin/bash
    
    SERVERS=("server1" "server2" "server3") # Serverite nimekiri
    
    for SERVER in "${SERVERS[@]}"; do
      echo "Ühendun ${SERVER}-iga..."
      ssh ${SERVER} << EOF
      # Käsklused tarkvara installimiseks kaugserveris
      sudo apt update
      sudo apt install -y package-name
    EOF
      echo "Installatsioon ${SERVER}-is lõpetatud."
    done
    

    Eelised: lihtne põhikäskude jaoks, ei vaja täiendavaid tööriistu. Miinused: skaleeritavus, vigade haldamine, idempotentsus puudub.

  2. Pakkettide levitamine. Loon paketid (deb, rpm) vajaliku tarkvara ja sõltuvustega. Seejärel levitan neid serveritele ja installin tavaliste paketihaldurite (apt, yum) abil. Võib kasutada scp failide kopeerimiseks ja SSH käskude käivitamiseks:

    #!/bin/bash
    
    SERVERS=("server1" "server2" "server3")
    PACKAGE_PATH="/path/to/package.deb"
    
    for SERVER in "${SERVERS[@]}"; do
      echo "Kopeerin paketi ${SERVER}-ile..."
      scp ${PACKAGE_PATH} ${SERVER}:/tmp/package.deb
    
      echo "Installin paketi ${SERVER}-il..."
      ssh ${SERVER} "sudo dpkg -i /tmp/package.deb"
    
      echo "Installatsioon ${SERVER}-is lõpetatud."
    done
    

    Eelised: kasutab natiivseid paketihaldureid, sõltuvuste haldamine. Miinused: nõuab pakettide loomist ja hooldust.

  3. Spetsiaalse tarkvara kasutamine juurutamiseks. On olemas tööriistad, mis on mõeldud tarkvara ja image'ide levitamiseks, näiteks:

    • PXE Boot (Preboot Execution Environment): operatsioonisüsteemide ja põhitoe installatsioon võrgust.
    • Clonezilla: ketaste või jaotiste kloonimine.
    • Oma skriptid rsync-i kasutades: failide ja kataloogide sünkroniseerimine.

    Iga tööriist sobib oma stsenaariumi jaoks. PXE on hea algse OS-i installimiseks, Clonezilla kiireks identsete image'ide levitamiseks, rsync konfiguratsioonifailide ja käivitatavate failide sünkroniseerimiseks.

Valiku meetod sõltub tarkvara spetsiifikast, serverite arvust, automatiseerimise nõuetest ja ekspertiisi tasemest. Esiteks kaalun bash-skripte lihtsate juhtumite jaoks ja paketihaldureid keerulisemate stsenaariumide jaoks, mis hõlmavad sõltuvusi.