Sobes.tech
Middle+

Hoe installeert u de software op een groot aantal machines als u geen Ansible en Python hebt?

sobes.tech AI

Antwoord van AI

Ik zal een van de volgende strategieën gebruiken:

  1. Bash-scripts met SSH-gebruik. Ik zal een script maken dat achtereenvolgens verbinding maakt met elke server via SSH en installatiecommando's uitvoert.

    #!/bin/bash
    
    SERVERS=("server1" "server2" "server3") # Lijst van servers
    
    for SERVER in "${SERVERS[@]}"; do
      echo "Verbinden met ${SERVER}..."
      ssh ${SERVER} << EOF
      # Commando's om software op de externe server te installeren
      sudo apt update
      sudo apt install -y pakketnaam
    EOF
      echo "Installatie op ${SERVER} voltooid."
    done
    

    Voordelen: Eenvoudig voor basis taken, geen extra tools nodig. Nadelen: Schaalbaarheid, foutafhandeling, gebrek aan idempotentie.

  2. Distributie van pakketten. Ik zal pakketten (deb, rpm) maken met de benodigde software en afhankelijkheden. Vervolgens zal ik ze distribueren naar de servers en installeren met behulp van de standaard pakketbeheerders (apt, yum). Hulpmiddelen zoals scp kunnen worden gebruikt om pakketten te kopiëren en SSH om installatiecommando's uit te voeren.

    #!/bin/bash
    
    SERVERS=("server1" "server2" "server3")
    PACKAGE_PATH="/pad/naar/pakket.deb"
    
    for SERVER in "${SERVERS[@]}"; do
      echo "Pakket kopiëren naar ${SERVER}..."
      scp ${PACKAGE_PATH} ${SERVER}:/tmp/pakket.deb
    
      echo "Pakket installeren op ${SERVER}..."
      ssh ${SERVER} "sudo dpkg -i /tmp/pakket.deb"
    
      echo "Installatie op ${SERVER} voltooid."
    done
    

    Voordelen: Gebruik van native pakketbeheerders, afhankelijkheidsbeheer. Nadelen: Het maken en onderhouden van pakketten is vereist.

  3. Gebruik van gespecialiseerde deploymentsoftware. Er zijn tools ontworpen voor het verspreiden van software en images, bijvoorbeeld:

    • PXE Boot (Preboot Execution Environment): Voor het installeren van besturingssystemen en basissoftware tijdens het opstarten via het netwerk.
    • Clonezilla: Voor het klonen van disks of partities.
    • Eigen scripts met rsync: Voor het synchroniseren van bestanden en directories met de software.

Elk hulpmiddel is geschikt voor zijn scenario. PXE is goed voor de initiële installatie van het OS, Clonezilla voor snelle uitrol van identieke images, rsync voor het synchroniseren van configuratiebestanden en uitvoerbare bestanden.

De keuze van de methode hangt af van de specificiteit van de software, het aantal servers, automatiseringsvereisten en het ervaringsniveau. Ik zal eerst bash-scripts voor eenvoudige gevallen overwegen en pakketbeheerders voor complexere scenario's met afhankelijkheden.