Automation Suite
2021.10
False
Bannerhintergrundbild
Automation Suite-Installationsanleitung
Letzte Aktualisierung 19. April 2024

Hinzufügen eines dedizierten Agent-Knotens mit GPU-Unterstützung

Hinweis:

Die Automation Suite unterstützt derzeit nur Nvidia GPU-Treiber. Siehe Liste der GPU-unterstützten Betriebssysteme.

Weitere Informationen zu den cloudspezifischen Instanztypen finden Sie unter:

Bevor Sie einen dedizierten Agent-Knoten mit GPU-Unterstützung hinzufügen, überprüfen Sie unbedingt die Hardwareanforderungen.

Installieren eines GPU-Treibers auf der Maschine

Hinweis: Der GPU-Treiber wird in den Ordnern /opt/nvidia und /usr gespeichert. Es wird dringend empfohlen, dass diese Ordner auf der GPU-Agent-Maschine mindestens 5 GiB bzw. 15 GiB groß sein sollten.
  1. Um den GPU-Treiber auf dem Agent-Knoten zu installieren, führen Sie den folgenden Befehl aus:
    sudo yum install kernel kernel-tools kernel-headers kernel-devel 
    sudo reboot
    sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
    sudo sed 's/$releasever/8/g' -i /etc/yum.repos.d/epel.repo
    sudo sed 's/$releasever/8/g' -i /etc/yum.repos.d/epel-modular.repo
    sudo yum config-manager --add-repo http://developer.download.nvidia.com/compute/cuda/repos/rhel8/x86_64/cuda-rhel8.repo
    sudo yum install cudasudo yum install kernel kernel-tools kernel-headers kernel-devel 
    sudo reboot
    sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
    sudo sed 's/$releasever/8/g' -i /etc/yum.repos.d/epel.repo
    sudo sed 's/$releasever/8/g' -i /etc/yum.repos.d/epel-modular.repo
    sudo yum config-manager --add-repo http://developer.download.nvidia.com/compute/cuda/repos/rhel8/x86_64/cuda-rhel8.repo
    sudo yum install cuda
  2. Um die Container-Toolkits zu installieren, führen Sie den folgenden Befehl aus:
    distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
              && curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.repo | sudo tee /etc/yum.repos.d/nvidia-docker.repo
    sudo dnf clean expire-cache
    sudo yum install -y nvidia-container-toolkitdistribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
              && curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.repo | sudo tee /etc/yum.repos.d/nvidia-docker.repo
    sudo dnf clean expire-cache
    sudo yum install -y nvidia-container-toolkit

Überprüfen Sie, ob die Treiber ordnungsgemäß installiert sind

Führen Sie den Befehl sudo nvidia-smi auf dem Knoten aus, um zu überprüfen, ob die Treiber ordnungsgemäß installiert wurden.


Hinweis: Sobald der Cluster bereitgestellt wurde, sind zusätzliche Schritte erforderlich, um die bereitgestellten GPUs zu konfigurieren.

Zu diesem Zeitpunkt wurden die GPU-Treiber installiert und die GPU-Knoten dem Cluster hinzugefügt.

Hinzufügen eines neuen GPU-Knotens zum Cluster

Schritt 1: Konfigurieren der Maschine

Führen Sie die Schritte zum Konfigurieren der Maschine aus, um sicherzustellen, dass die Festplatte korrekt partitioniert ist und alle Netzwerkanforderungen erfüllt sind.

Schritt 2: Kopieren des interaktiven Installationsprogramms auf die Zielmaschine

Für die Online-Installation

  1. SSH zu einer der Servermaschinen.
  2. Führen Sie den folgenden Befehl aus, um den Inhalt des Ordners UiPathAutomationSuite in den GPU-Knoten zu kopieren (Benutzername und DNS sind spezifisch für den GPU-Knoten):
    sudo su -
    scp -r /opt/UiPathAutomationSuite <username>@<node dns>:/opt/
    scp -r ~/* <username>@<node dns>:/opt/UiPathAutomationSuite/sudo su -
    scp -r /opt/UiPathAutomationSuite <username>@<node dns>:/opt/
    scp -r ~/* <username>@<node dns>:/opt/UiPathAutomationSuite/

Für die Offline-Installation

  1. SSH zu einem der Serverknoten.
  2. Stellen Sie sicher, dass das Verzeichnis /opt/UiPathAutomationSuite die Datei sf-infra.tar.gz enthält (ist Teil des Schritts zum Herunterladen des Installationspakets)
    scp -r ~/opt/UiPathAutomationSuite <username>@<node dns>:/var/tmpscp -r ~/opt/UiPathAutomationSuite <username>@<node dns>:/var/tmp

Schritt 3: Ausführen des interaktiven Installationsassistenten zum Konfigurieren des dedizierten Knotens

Für die Online-Installation

  1. SSH zum GPU-Knoten.
  2. Führen Sie die folgenden Befehle aus:
    sudo su -
    cd /opt/UiPathAutomationSuite
    chmod -R 755 /opt/UiPathAutomationSuite
    yum install unzip jq -y
    CONFIG_PATH=/opt/UiPathAutomationSuite/cluster_config.json 
    
    UNATTENDED_ACTION="accept_eula,download_bundle,extract_bundle,join_gpu" ./installUiPathAS.shsudo su -
    cd /opt/UiPathAutomationSuite
    chmod -R 755 /opt/UiPathAutomationSuite
    yum install unzip jq -y
    CONFIG_PATH=/opt/UiPathAutomationSuite/cluster_config.json 
    
    UNATTENDED_ACTION="accept_eula,download_bundle,extract_bundle,join_gpu" ./installUiPathAS.sh

Für die Offline-Installation

  1. Stellen Sie eine Verbindung über SSH mit dem dedizierten GPU-Knoten her.
  2. Installieren Sie das Plattformpaket auf dem dedizierten GPU-Knoten mithilfe des folgenden Skripts:
    sudo su 
    mv /var/tmp/UiPathAutomationSuite /opt
    cd /opt/UiPathAutomationSuite
    chmod -R 755 /opt/UiPathAutomationSuite
    
    ./install-uipath.sh -i ./cluster_config.json -o ./output.json -k -j gpu --offline-bundle ./sf-infra.tar.gz --offline-tmp-folder /opt/UiPathAutomationSuite/tmp --install-offline-prereqs --accept-license-agreementsudo su 
    mv /var/tmp/UiPathAutomationSuite /opt
    cd /opt/UiPathAutomationSuite
    chmod -R 755 /opt/UiPathAutomationSuite
    
    ./install-uipath.sh -i ./cluster_config.json -o ./output.json -k -j gpu --offline-bundle ./sf-infra.tar.gz --offline-tmp-folder /opt/UiPathAutomationSuite/tmp --install-offline-prereqs --accept-license-agreement

Konfigurieren des GPU-Treibers auf dem Cluster

Schritt 1: Installieren des GPU-Treibers auf dem Cluster

  1. Vergewissern Sie sich, dass Sie über SSH mit der GPU-Maschine verbunden sind.
  2. Aktualisieren Sie die contianerd-Konfiguration des GPU-Knotens, indem Sie die folgenden Befehle ausführen:
    cat <<EOF > gpu_containerd.sh
    if ! nvidia-smi &>/dev/null;
    then
      echo "GPU Drivers are not installed on the VM. Please refer the documentation."
      exit 0
    fi
    if ! which nvidia-container-runtime &>/dev/null;
    then
      echo "Nvidia container runtime is not installed on the VM. Please refer the documentation."
      exit 0 
    fi
    grep "nvidia-container-runtime" /var/lib/rancher/rke2/agent/etc/containerd/config.toml &>/dev/null && info "GPU containerd changes already applied" && exit 0
    awk '1;/plugins.cri.containerd]/{print "  default_runtime_name = \"nvidia-container-runtime\""}' /var/lib/rancher/rke2/agent/etc/containerd/config.toml > /var/lib/rancher/rke2/agent/etc/containerd/config.toml.tmpl
    echo -e '\n[plugins.linux]\n  runtime = "nvidia-container-runtime"' >> /var/lib/rancher/rke2/agent/etc/containerd/config.toml.tmpl
    echo -e '\n[plugins.cri.containerd.runtimes.nvidia-container-runtime]\n  runtime_type = "io.containerd.runc.v2"\n  [plugins.cri.containerd.runtimes.nvidia-container-runtime.options]\n    BinaryName = "nvidia-container-runtime"' >> /var/lib/rancher/rke2/agent/etc/containerd/config.toml.tmpl
    EOFcat <<EOF > gpu_containerd.sh
    if ! nvidia-smi &>/dev/null;
    then
      echo "GPU Drivers are not installed on the VM. Please refer the documentation."
      exit 0
    fi
    if ! which nvidia-container-runtime &>/dev/null;
    then
      echo "Nvidia container runtime is not installed on the VM. Please refer the documentation."
      exit 0 
    fi
    grep "nvidia-container-runtime" /var/lib/rancher/rke2/agent/etc/containerd/config.toml &>/dev/null && info "GPU containerd changes already applied" && exit 0
    awk '1;/plugins.cri.containerd]/{print "  default_runtime_name = \"nvidia-container-runtime\""}' /var/lib/rancher/rke2/agent/etc/containerd/config.toml > /var/lib/rancher/rke2/agent/etc/containerd/config.toml.tmpl
    echo -e '\n[plugins.linux]\n  runtime = "nvidia-container-runtime"' >> /var/lib/rancher/rke2/agent/etc/containerd/config.toml.tmpl
    echo -e '\n[plugins.cri.containerd.runtimes.nvidia-container-runtime]\n  runtime_type = "io.containerd.runc.v2"\n  [plugins.cri.containerd.runtimes.nvidia-container-runtime.options]\n    BinaryName = "nvidia-container-runtime"' >> /var/lib/rancher/rke2/agent/etc/containerd/config.toml.tmpl
    EOF
    sudo bash gpu_containerd.shsudo bash gpu_containerd.sh
  3. Starten Sie rke2-agent neu, indem Sie die folgenden Befehle ausführen:
    systemctl restart rke2-agentsystemctl restart rke2-agent

Schritt 2: Aktivieren der GPU im Cluster

  1. Führen Sie die folgenden Befehle von einem der Serverknoten aus.
  2. Navigieren Sie zum Ordner UiPathAutomationSuite.
    cd /opt/UiPathAutomationSuitecd /opt/UiPathAutomationSuite

Aktivieren der GPU in einer Onlineinstallation

DOCKER_REGISTRY_URL=$(cat defaults.json | jq -er ".registries.docker.url")
sed -i "s/REGISTRY_PLACEHOLDER/${DOCKER_REGISTRY_URL}/g" ./Infra_Installer/gpu_plugin/nvidia-device-plugin.yaml
kubectl apply -f ./Infra_Installer/gpu_plugin/nvidia-device-plugin.yaml
kubectl -n kube-system rollout restart daemonset nvidia-device-plugin-daemonsetDOCKER_REGISTRY_URL=$(cat defaults.json | jq -er ".registries.docker.url")
sed -i "s/REGISTRY_PLACEHOLDER/${DOCKER_REGISTRY_URL}/g" ./Infra_Installer/gpu_plugin/nvidia-device-plugin.yaml
kubectl apply -f ./Infra_Installer/gpu_plugin/nvidia-device-plugin.yaml
kubectl -n kube-system rollout restart daemonset nvidia-device-plugin-daemonset

Aktivieren der GPU in einer Offlineinstallation

DOCKER_REGISTRY_URL=localhost:30071
sed -i "s/REGISTRY_PLACEHOLDER/${DOCKER_REGISTRY_URL}/g" ./Infra_Installer/gpu_plugin/nvidia-device-plugin.yaml
kubectl apply -f ./Infra_Installer/gpu_plugin/nvidia-device-plugin.yaml
kubectl -n kube-system rollout restart daemonset nvidia-device-plugin-daemonsetDOCKER_REGISTRY_URL=localhost:30071
sed -i "s/REGISTRY_PLACEHOLDER/${DOCKER_REGISTRY_URL}/g" ./Infra_Installer/gpu_plugin/nvidia-device-plugin.yaml
kubectl apply -f ./Infra_Installer/gpu_plugin/nvidia-device-plugin.yaml
kubectl -n kube-system rollout restart daemonset nvidia-device-plugin-daemonset

War diese Seite hilfreich?

Hilfe erhalten
RPA lernen – Automatisierungskurse
UiPath Community-Forum
UiPath Logo weiß
Vertrauen und Sicherheit
© 2005-2024 UiPath. All rights reserved.