Sobes.tech
Middle+

Kā jūs uzstādītu programmatūru uz lielas skaita mašīnām, ja jums nav piekļuves Ansible un Python?

sobes.tech AI

Atbilde no AI

Es izmantotu komandrindas skriptu kombināciju (Bash Linux/Unix, Batch/PowerShell Windows) un SSH/WinRM.

#!/bin/bash
# Piemērs skripts Linux programmatūras instalēšanai caur SSH

SOFTWARE_NAME="nginx"
REMOTE_HOSTS=("user@host1" "user@host2" "user@host3") # Attālie serveri

for host in "${REMOTE_HOSTS[@]}"; do
  echo "Instalē $SOFTWARE_NAME uz $host..."
  ssh "$host" "sudo apt-get update && sudo apt-get install -y $SOFTWARE_NAME"
  ja [ $? -eq 0 ]; tad
    echo "$SOFTWARE_NAME veiksmīgi uzstādīts uz $host"
  citādi
    echo "Kļūda, instalējot $SOFTWARE_NAME uz $host"
  fi
done

Windows:

# Piemērs skripts Windows programmatūras instalēšanai caur WinRM

$softwareName = "notepadplusplus" # Piemērs ar Chocolatey paketi
$remoteHosts = @("host1", "host2", "host3") # Attālie serveri

foreach ($host in $remoteHosts) {
  Write-Host "Instalē $softwareName uz $host..."
  # Piemērs ar Chocolatey (prasa iepriekšēju uzstādīšanu uz mērķa mašīnām)
  Invoke-Command -ComputerName $host -ScriptBlock { choco install $using:softwareName -y }
  ja ($?) {
    Write-Host "$softwareName veiksmīgi uzstādīts uz $host"
  citādi
    Write-Host "Kļūda, instalējot $softwareName uz $host"
  }
}

Tāpat ir iespējams izmantot:

  1. SSH atslēgu balstītu autentifikāciju: automatizācijai bez paroles.
  2. Centralizēta failu izplatīšana: instalācijas vai skriptu pārsūtīšana uz mašīnām iepriekš.
  3. Cron/Task Scheduler: plānotāji automātiskai darbībai noteiktā laikā vai pēc grafika.
  4. PXE Boot: operētājsistēmu un pamata programmatūras izvietošanai "tukšās" mašīnās.
  5. Pielāgotu Bash/Batch/PowerShell skriptu izveide: sarežģītāku konfigurāciju iestatīšanai pēc uzstādīšanas.

Salīdzinošā tabula pieejām:

Metode Priekšrocības Trūkumi Piemērojamība
Bash/SSH Plaši pieejams, vienkārši pamata scenārijiem. Ierobežotas pārvaldības iespējas, kļūdu apstrādes sarežģītība. Linux/Unix sistēmas.
Batch/PowerShell/WinRM Iebūvēti Windows līdzekļi. Mazāk standartizēts nekā SSH/Bash, prasa WinRM konfigurāciju. Windows sistēmas.
Centralizēti faili Ērti izplatīt lielus failus. Nepieciešams papildu mehānisms izpildei uz mērķa mašīnām. Jebkura sistēma.
Cron/Task Scheduler Laika automatizācija. Nepiemērots interaktīvai instalācijai vai manuālai palaišanai. Jebkura sistēma.
PXE Boot Ideāli jaunu sistēmu izvietošanai. Konfigurācijas sarežģītība, ierobežota atkārtota izmantošana jau darbojošās sistēmās. Jaunas/rekonfigurējamas sistēmas.

Šo metožu izmantošana prasa rūpīgu plānošanu, skriptu testēšanu un drošu kļūdu apstrādes un žurnāla mehānismu. Skriptu versiju pārvaldība ir arī kritiska.