Sobes.tech
Middle+

Kaip įdiegti programinę įrangą dideliam kiekiui kompiuterių, jei neturite prieigos prie Ansible ir Python?

sobes.tech AI

Atsakymas iš AI

Naudociau komandinės eilutės skriptų derinį (Bash Linux/Unix, Batch/PowerShell Windows) ir SSH/WinRM.

#!/bin/bash
# Pavyzdinis scenarijus Linux programinei įrangai įdiegti per SSH

SOFTWARE_NAME="nginx"
REMOTE_HOSTS=("user@host1" "user@host2" "user@host3") # Nuotoliniai serveriai

for host in "${REMOTE_HOSTS[@]}"; do
  echo "Diegiama $SOFTWARE_NAME ant $host..."
  ssh "$host" "sudo apt-get update && sudo apt-get install -y $SOFTWARE_NAME"
  jei [ $? -eq 0 ]; tada
    echo "$SOFTWARE_NAME sėkmingai įdiegta $host"
  kitaip
    echo "Klaida diegiant $SOFTWARE_NAME ant $host"
  fi
done

Windows:

# Pavyzdinis scenarijus Windows programinei įrangai įdiegti per WinRM

$softwareName = "notepadplusplus" # Pavyzdinis paketo pavadinimas iš Chocolatey
$remoteHosts = @("host1", "host2", "host3") # Nuotoliniai serveriai

foreach ($host in $remoteHosts) {
  Write-Host "Diegiama $softwareName ant $host..."
  # Pavyzdys naudojant Chocolatey (reikalauja išankstinio įdiegimo tikslinėse mašinose)
  Invoke-Command -ComputerName $host -ScriptBlock { choco install $using:softwareName -y }
  jei ($?) {
    Write-Host "$softwareName sėkmingai įdiegta $host"
  kitaip
    Write-Host "Klaida diegiant $softwareName ant $host"
  }
}

Taip pat galima naudoti:

  1. SSH raktų pagrindu autentifikacija: automatizacijai be slaptažodžio.
  2. Centralizuotas failų paskirstymas: diegimo paketų ar skriptų perdavimas į mašinas iš anksto.
  3. Cron/Task Scheduler: planuotojai automatizacijai tam tikru laiku ar pagal grafiką.
  4. PXE Boot: operacinės sistemos ir pagrindinės programinės įrangos diegimui "tuščioms" mašinoms.
  5. Pasirinktinių Bash/Batch/PowerShell skriptų kūrimas: sudėtingesnių konfigūracijų nustatymui po įdiegimo.

Lyginamoji lentelė metodų:

Metodas Privalumai Trūkumai Taikymas
Bash/SSH Plačiai prieinama, paprasta baziniams scenarijams. Ribotos valdymo galimybės, klaidų apdorojimo sudėtingumas. Linux/Unix sistemos.
Batch/PowerShell/WinRM Integruotos Windows priemonės. Mažiau standartizuotas nei SSH/Bash, reikalauja WinRM konfigūracijos. Windows sistemos.
Centralizuoti failai Patogu plisti didelius failus. Reikia papildomo mechanizmo vykdymui tikslinėse mašinose. Bet kuri sistema.
Cron/Task Scheduler Laiko automatizacija. Netinka interaktyviam diegimui ar rankiniam paleidimui. Bet kuri sistema.
PXE Boot Idealiai naujų sistemų diegimui. Sudėtinga konfigūracija, ribotas pakartotinis naudojimas veikiančiose sistemose. Naujos/Perinstaliuojamos sistemos.

Šių metodų taikymas reikalauja kruopštaus planavimo, skriptų testavimo ir patikimo klaidų apdorojimo bei žurnalų mechanizmo. Taip pat svarbu valdyti skriptų versijas.