Sobes.tech
Middle+

Kako ćete instalirati softver na veliki broj mašina ako nemate Ansible i Python?

sobes.tech АИ

Одговор од АИ

Користићу једну од следећих стратегија:

  1. Bash скриптови са коришћењем SSH. Написаћу скрипту која редом приступа сваком серверу преко SSH и извршава команде за инсталацију.

    #!/bin/bash
    
    SERVERS=("server1" "server2" "server3") # Листа сервера
    
    for SERVER in "${SERVERS[@]}"; do
      echo "Повезујем се са ${SERVER}..."
      ssh ${SERVER} << EOF
      # Команде за инсталацију софтвера на удаљеном серверу
      sudo apt update
      sudo apt install -y package-name
    EOF
      echo "Инсталација на ${SERVER} завршена."
    done
    

    Плусеви: Једноставност за основне задатке, не захтева додатне алате. Минуси: Масовност, управљање грешкама, одсуство идемпотенције.

  2. Дистрибуција пакета. Написаћу пакете (deb, rpm) са потребним софтвером и зависностима. Затим их дистрибуираћу на сервере и инсталирати помоћу стандардних менаџера пакета (apt, yum). Може се користити scp за копирање пакета и SSH за покретање команда за инсталацију.

    #!/bin/bash
    
    SERVERS=("server1" "server2" "server3")
    PACKAGE_PATH="/path/to/package.deb"
    
    for SERVER in "${SERVERS[@]}"; do
      echo "Копирам пакет на ${SERVER}..."
      scp ${PACKAGE_PATH} ${SERVER}:/tmp/package.deb
    
      echo "Инсталирам пакет на ${SERVER}..."
      ssh ${SERVER} "sudo dpkg -i /tmp/package.deb"
    
      echo "Инсталација на ${SERVER} завршена."
    done
    

    Плусеви: Коришћење нативних менаџера пакета, управљање зависностима. Минуси: Потребно креирање и одржавање пакета.

  3. Коришћење специјализованог софтвера за распоређивање. Постоје алати намењени за дистрибуцију софтвера и слика, на пример:

    • PXE Boot (Preboot Execution Environment): За инсталацију оперативних система и основног софтвера при покретању преко мреже.
    • Clonezilla: За клонирање дискова или партиција.
    • Собствени скриптови са rsync: За синхронизацију датотека и директоријума са софтвером.

    Сваки алат одговара за свој сценарио. PXE је добар за почетну инсталацију ОС, Clonezilla за брзо распоређивање идентичних слика, rsync за синхронизацију конфигурационих датотека и извршних фајлова.

Избор методе зависи од специфичности софтвера, броја сервера, захтева за аутоматизацијом и нивоа експертизе. Прво ћу размотрити bash-скриптове за једноставне случајеве и менаџере пакета за сложеније сценарије са зависностима.