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:
- SSH raktų pagrindu autentifikacija: automatizacijai be slaptažodžio.
- Centralizuotas failų paskirstymas: diegimo paketų ar skriptų perdavimas į mašinas iš anksto.
- Cron/Task Scheduler: planuotojai automatizacijai tam tikru laiku ar pagal grafiką.
- PXE Boot: operacinės sistemos ir pagrindinės programinės įrangos diegimui "tuščioms" mašinoms.
- 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.