Automation Suite
2022.4
False
Bannerhintergrundbild
Automation Suite-Installationsanleitung
Letzte Aktualisierung 24. Apr. 2024

Verwenden von uipathctl.sh

Das Skript uipathctl.sh bietet eine automatisierte Möglichkeit, einen Cluster auf eine neuere Version zu aktualisieren, eine Sicherung zu konfigurieren, einen Cluster wiederherzustellen und vieles mehr, indem es auf einem Knoten ausgeführt wird. Die Automatisierung dieser Aufgaben erfolgt über das IT-Automatisierungstool Ansible.

Anforderungen

Ansible verwendet den SSH-Mechanismus, um sich bei einem der Hostknoten oder -maschinen anzumelden, um Aufgaben auszuführen.

Bevor Sie das Skript uipathctl.sh ausführen, müssen Sie die folgenden Schritte ausführen:
  1. Identifizieren Sie den Ansible-Hostknoten.
  2. Fügen Sie die SSH-Signatur Ihrer Knoten zu den bekannten Hosts hinzu.
  3. Richten Sie die SSH-Authentifizierungsmethode ein.
  4. Installieren Sie Ansible und andere erforderliche Tools.

Anweisungen finden Sie in den folgenden Abschnitten.

Identifizieren des Ansible-Hostknotens

Der Ansible-Hostknoten ist die Maschine, auf der Sie Ansible installieren. Diese Maschine muss ein Serverknoten sein, damit sie über die erforderlichen Berechtigungen zum Ausführen aller Automatisierungen im Cluster verfügt.

Bei Online-Installationen kann der Ansible-Hostknoten einer der Serverknoten sein.

Bei Offlineinstallationen muss der Ansible-Hostknoten der primäre Serverknoten sein, auf dem Sie die UiPath-Bundle-Festplatte am Standort /uipath bereitgestellt haben. Wenn kein Serverknoten mit angefügtem Datenträger des UiPath-Pakets vorhanden ist, können Sie einfach einen zusätzlichen Datenträger auf einem der vorhandenen Serverknoten bereitstellen und ihn als Ansible-Hostknoten betrachten.

Hinzufügen der SSH-Signatur Ihrer Knoten zu den bekannten Hosts

Um die SSH-Signatur Ihres Knotens zu den bekannten Hosts hinzuzufügen, fügen Sie die private IP-Adresse jedes Knotens im Cluster zur Datei known_hosts im Ansible-Hostknoten hinzu.
Führen Sie den folgenden Befehl auf dem Ansible-Hostknoten aus, indem Sie <node-private-ip> nacheinander durch die private IP-Adresse jedes Knotens im Cluster ersetzen.
ssh-keyscan -H <node-private-ip> >> ~/.ssh/known_hostsssh-keyscan -H <node-private-ip> >> ~/.ssh/known_hosts

Einrichten der SSH-Authentifizierungsmethode

Ansible unterstützt zwei SSH-Mechanismen:

Option 1: Schlüsselbasierte SSH-Authentifizierung (empfohlen)

Schritt 1: Einrichten des SSH-Schlüssels

Der SSH-Schlüsselauthentifizierungsmechanismus verwendet eine Kombination aus privaten und öffentlichen Schlüsseln.

Stellen Sie sicher, dass Sie Zugriff auf den öffentlichen Schlüssel des Ansible-Hostknotens auf allen anderen Knoten gewähren, indem Sie ihn kopieren.

Wenn Sie keinen SSH-Schlüssel haben, können Sie einen generieren, indem Sie den Befehl ssh-keygen ausführen.
Generieren von SSH-Schlüsseln
Sie können einen neuen SSH-Schlüssel mit dem Befehl ssh-keygen generieren. Um den neuen SSH-Schlüssel zu generieren, führen Sie einfach den Befehl ssh-keygen aus und befolgen Sie die Anweisungen.

Führen Sie die folgenden Schritte aus, um einen neuen SSH-Schlüssel zu generieren:

  1. Generieren Sie einen neuen SSH-Schlüssel mit dem Befehl ssh-keygen .
  2. Notieren Sie sich die Position Ihres Schlüssels. Standardwerte sind:

    • Öffentlicher Schlüssel: ~/.ssh/id_rsa.pub
    • Privater Schlüssel: ~/.ssh/id_rsa
  3. Gewähren Sie Zugriff auf den öffentlichen Schlüssel des Ansible-Hostknotens auf allen anderen Knoten, indem Sie ihn kopieren.
Gewähren des Zugriffs auf den öffentlichen Schlüssel auf jedem Knoten
Um Zugriff auf den öffentlichen Schlüssel zu gewähren, kopieren Sie ihn mit dem Befehl ssh-copy-id auf alle Knoten im Cluster (einschließlich des aktuellen Knotens). Wenn der Pfad des öffentlichen SSH-Schlüssels nicht ~/.ssh/id_rsa.pub ist, müssen Sie ihn entsprechend ersetzen.
ssh-copy-id -i ~/.ssh/id_rsa.pub username@node-private-ipssh-copy-id -i ~/.ssh/id_rsa.pub username@node-private-ip

Schritt 2: Bereitstellen des SSH-Schlüsselzugriffs für Ansible

Ansible verwendet den SSH-Mechanismus, um sich bei Hostmaschinen anzumelden und die erforderliche Installation durchzuführen. Aus diesem Grund müssen Sie Ansible den SSH-Schlüsselzugriff gewähren.

Wählen Sie zwischen den folgenden Methoden:

Option 1: Verwenden von ssh-agent (empfohlen)
Standardmäßig verwendet Ansible ssh-agent, um Zugriff auf Knoten zu erhalten. Weitere Informationen zu SSH-Agent finden Sie im SSH-Agent-Handbuch.
Um einen neuen Schlüssel zu ssh-agent hinzuzufügen, führen Sie den folgenden Befehl aus:
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsaeval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa
Option 2: Verwenden eines nicht geschützten privaten Schlüssels
Hinweis: Diese Option wird nur unterstützt, wenn Ihr privater Schlüssel nicht durch eine Passphrase geschützt ist.
Bei dieser Methode wird der private Schlüssel interaktiv verwendet, indem der Parameter --ansible-private-key zu Ihrem uipathctl.sh -Skript hinzugefügt wird. Der Parameter verwendet den absoluten Pfad des privaten Schlüssels und verwendet ihn für die Authentifizierung.

Option 2: Kennwortbasierte SSH-Authentifizierung

Wenn Sie sich für die kennwortbasierte SSH-Authentifizierung entscheiden, müssen Sie den Parameter --ansible-ask-password für das uipathctl.sh -Skript angeben. Dieser Parameter fordert Sie auf, das Kennwort für die Authentifizierung anzugeben.

Installieren von Ansible und anderen erforderlichen Tools

Überprüfen, ob Ansible und andere erforderliche Tools installiert sind

Sie müssen sicherstellen, dass Ansible und die folgenden anderen unterstützenden Tools auf dem zuvor ausgewählten Ansible-Hostknoten installiert sind.

  • ansible (v2.8+)
    Führen Sie Folgendes aus, um zu überprüfen, ob ansible installiert wurde:
    ansible --version &>/dev/null || echo "Error: Ansible is not installed"ansible --version &>/dev/null || echo "Error: Ansible is not installed"
  • ansible-playbook

    Führen Sie Folgendes aus, um zu überprüfen, ob ansible-playbook installiert wurde:
    ansible-playbook --version &>/dev/null || echo "Error: Ansible Playbook is not installed"ansible-playbook --version &>/dev/null || echo "Error: Ansible Playbook is not installed"
  • sshpass – Nur erforderlich, wenn das Kennwort für die Authentifizierung zusammen mit dem Parameter --ansible-ask-password verwendet wird.
    Führen Sie Folgendes aus, um zu überprüfen, ob sshpass installiert wurde:
    sshpass -V &>/dev/null || echo "Error: sshpass is not installed"sshpass -V &>/dev/null || echo "Error: sshpass is not installed"
  • zip – Um zu überprüfen, ob zip installiert wurde, führen Sie Folgendes aus:
    zip --version &>/dev/null || echo "Error: zip is not installed"zip --version &>/dev/null || echo "Error: zip is not installed"
    Wichtig: Wenn bei einem der vorherigen Befehle ein Fehler ausgegeben wird, wird das Zielpaket nicht auf Ihrer Maschine installiert. Führen Sie die Schritte im folgenden Abschnitt aus, um alle gewünschten Tools zu installieren. Wenn alle Tools bereits installiert sind, können Sie diese Schritte überspringen.

Installieren von Ansible und anderen erforderlichen Tools

Führen Sie die folgenden Schritte aus, um Ansible und andere zugehörige Pakete zu installieren:

  1. Navigieren Sie zum Installationsordner auf dem Ansible-Hostknoten. Das Installationsprogramm befindet sich normalerweise im Ordner /opt/UiPathAutomationSuite/{version} .
  2. Führen Sie die folgenden Befehle aus:
  • Für Online:

    ./uipathctl.sh install-prerequisites --install-type online --accept-license-agreement./uipathctl.sh install-prerequisites --install-type online --accept-license-agreement
    • Für Offline:
Sie benötigen einen zusätzlichen Ansible-Tarball, der Ansible und andere abhängige Pakete enthält. Laden Sie ansible.tar.gz herunter und speichern Sie es an einem beliebigen Ort außerhalb des Installationsordners. Anweisungen zum Herunterladen finden Sie unter ansible.tar.gz.
Wenn sich ansible.tar.gz an einem anderen Speicherort befindet, aktualisieren Sie den absoluten Speicherort für den Parameter --offline-prerequisites-bundle .
./uipathctl.sh install-prerequisites --install-type offline --offline-prerequisites-bundle ../ansible.tar.gz --accept-license-agreement./uipathctl.sh install-prerequisites --install-type offline --offline-prerequisites-bundle ../ansible.tar.gz --accept-license-agreement

Erweiterte Ansible-Konfiguration

Generieren der Ansible Inventory.ini-Datei

In einigen Szenarien, z. B. beim Konfigurieren der Sicherung oder beim Upgrade, generiert die Automation Suite automatisch die inventory.ini -Datei für Ansible. Es gibt jedoch einige Situationen, in denen Sie die inventory.ini -Datei erstellen und Ansible bereitstellen müssen. Zum Beispiel:
  • Beim Wiederherstellen des Clusters aus den Sicherungsdaten. Dies liegt daran, dass zum Zeitpunkt der Wiederherstellung kein fehlerfreier Cluster vorhanden ist, um inventory.ini abzuleiten.
  • Wenn Sie eine erweiterte Konfiguration wie Benutzername und SSH-Schlüssel bereitstellen möchten, die für jeden Knoten sehr spezifisch ist.

Weitere Informationen finden Sie unter So erstellen Sie Ihr eigenes Verzeichnis.

Der folgende Codeblock zeigt die Inventarvorlage an, die das Skript uipathctl.sh versteht.
[FIRST_SERVER]
'10.0.1.1'
[SECONDARY_SERVERS]
'10.0.1.2'
'10.0.1.3'
[AGENTS]
'10.0.1.4'
'10.0.1.5'
[TASKMINING]
'10.0.1.6'
[GPU]
'10.0.1.7'
[all:vars]
ansible_connection=ssh
ansible_timeout=10
ansible_user=admin[FIRST_SERVER]
'10.0.1.1'
[SECONDARY_SERVERS]
'10.0.1.2'
'10.0.1.3'
[AGENTS]
'10.0.1.4'
'10.0.1.5'
[TASKMINING]
'10.0.1.6'
[GPU]
'10.0.1.7'
[all:vars]
ansible_connection=ssh
ansible_timeout=10
ansible_user=admin

„Gruppieren“ (Group)

Wert

[FIRST_SERVER]

Der Ausgangspunkt, an dem Sie das Skript uipathctl.sh ausführen. Dies wird auch als Ansible-Hostknoten bezeichnet.

Sie müssen die private IP-Adresse für diesen Knoten angeben.

[SECONDARY_SERVER]

Die Gruppe der anderen Serverknoten im Cluster.

Sie müssen die private IP-Adresse aller anderen Serverknoten angeben.

[AGENTS]

Die Gruppe der Agent-Knoten im Cluster.

Sie müssen die private IP-Adresse aller Agent-Knoten angeben.

[TASKMINING]

Die Gruppe der Task Mining-Knoten im Cluster.

Sie müssen die private IP-Adresse aller Task Mining-Knoten angeben.

[GPU]

Die Gruppe der GPU-Knoten im Cluster.

Sie müssen die private IP-Adresse aller GPU-Knoten angeben.

[all:vars]

Die Gruppe von Variablen, die auf alle zuvor definierten Hostgruppen angewendet wird.

  • ansible_connection - Die Authentifizierungsmethode. Zwei SSH-Mechanismen werden unterstützt: schlüsselbasierte SSH-Authentifizierung und kennwortbasierte SSH-Authentifizierung.
  • ansible_timeout - Die Standardzeitdauer, während der eine SSH-Verbindung hergestellt werden kann, bevor das Zeitlimit für den Vorgang überschritten wird. Es steuert auch, wie lange es dauert, auf die Verbindung zuzugreifen, sobald sie hergestellt ist.
  • ansible_user - Der Name des Benutzers, der sich beim Remoteserver anmeldet.

Sie können die Variablen pro Gruppe oder pro Hostknoten angeben. Weitere Informationen finden Sie unter Zuweisen einer Variablen zu vielen Maschinen: Gruppenvariablen.

Generieren der Ansible-Variablendatei

Für die Ansible-Orchestrierung auf anderen Knoten müssen Sie einige Parameter definieren, die Ansible verwendet, um den Speicherort des Installationsprogramms und der entsprechenden Dateien auf anderen Knoten zu bestimmen. Diese Parameter werden in der Datei Yaml definiert und Ansible bereitgestellt.
Wenn Sie die Standardkonfiguration ändern möchten, erstellen Sie eine Datei im folgenden Format und stellen Sie sie uipathctl.sh mit --ansible-variables-file bereit.
#Path where installer zip is available. By default, uipathctl.sh takes the current folder and compress it to zip before copying it to other nodes.
installer_path: /path/to/installer.zip
# Path where installer will be copied on nodes
target_installer_base_path: /opt/UiPathAutomationSuite/<version>/installer
# Install type - online or offline
install_type: online
# Path on nodes where offline bundles will be copied
target_bundle_base_path: /opt/UiPathAutomationSuite/{version}
# Path on nodes where offline bundles will be extracted
target_tmp_path: /opt/UiPathAutomationSuite/tmp
# Basepath and filname for the various config files and bundles on the local machine
cluster_config_filename: cluster_config.json
cluster_config_basepath: /var/tmp/uipathctl_{version}
backup_config_filename: backup_config.json
backup_config_basepath: /var/tmp/uipathctl_{version}
restore_config_filename: restore.json
restore_config_basepath: /var/tmp/uipathctl_{version}
infra_bundle_filename: sf-infra.tar.gz
infra_bundle_basepath: /var/tmp/uipath_upgrade_<version>#Path where installer zip is available. By default, uipathctl.sh takes the current folder and compress it to zip before copying it to other nodes.
installer_path: /path/to/installer.zip
# Path where installer will be copied on nodes
target_installer_base_path: /opt/UiPathAutomationSuite/<version>/installer
# Install type - online or offline
install_type: online
# Path on nodes where offline bundles will be copied
target_bundle_base_path: /opt/UiPathAutomationSuite/{version}
# Path on nodes where offline bundles will be extracted
target_tmp_path: /opt/UiPathAutomationSuite/tmp
# Basepath and filname for the various config files and bundles on the local machine
cluster_config_filename: cluster_config.json
cluster_config_basepath: /var/tmp/uipathctl_{version}
backup_config_filename: backup_config.json
backup_config_basepath: /var/tmp/uipathctl_{version}
restore_config_filename: restore.json
restore_config_basepath: /var/tmp/uipathctl_{version}
infra_bundle_filename: sf-infra.tar.gz
infra_bundle_basepath: /var/tmp/uipath_upgrade_<version>

Variable

Wert

installer_path

Der Pfad von sf-installer.zip . Wenn Sie diesen Wert nicht angeben, komprimiert uipathctl.sh das aktuelle Verzeichnis und kopiert es als ZIP-Datei des Installationsprogramms auf andere Knoten.

target_installer_base_path

Der Pfad, in den das Installationsprogramm auf die Knoten kopiert wird. Der Standardwert ist `/opt/UiPathAutomationSuite/{version .

install_type

Die Installationsmethode. Mögliche Werte sind: online und offline .

target_bundle_base_path

Der Pfad auf den Knoten, in die die Offlinepakete kopiert werden. Der Standardspeicherort ist /var/tmp/uipathctl_{version} .

target_tmp_path

Der Pfad auf den Knoten, auf denen das Paket extrahiert wird. Der Standardspeicherort ist /opt/UiPathAutomationSuite/tmp .

cluster_config_filename

Der Name der Cluster-Konfigurationsdatei. Der Standardwert ist cluster_config.json .

cluster_config_basepath

Der Speicherort, an dem cluster_config.json während der Orchestrierung vorübergehend auf den Knoten gespeichert wird. Der Standardwert ist /var/tmp/uipathctl_{version} .

backup_config_filename

Der Name der Sicherungskonfigurationsdatei. Der Standardwert ist backup.json .

backup_config_basepath

Der Speicherort, an dem backup.json während der Orchestrierung vorübergehend auf den Knoten gespeichert wird. Der Standardwert ist /var/tmp/uipathctl_{version} .

restore_config_filename

Der Name der Konfigurationsdatei für die Wiederherstellung. Der Standardwert ist restore.json .

restore_config_basepath

Der Speicherort, an dem restore.json während der Orchestrierung vorübergehend auf den Knoten gespeichert wird. Der Standardwert ist `/var/tmp/uipathctl_{version .

infra_bundle_filename

Der Name des Pakets, das die Infrastrukturschichten enthält. Dies ist derselbe, den Sie für das uipathctl.sh -Skript bereitgestellt haben.

infra_bundle_basepath

Der Speicherort, an dem sf-infra.tar.gz während der Orchestrierung vorübergehend auf den Knoten gespeichert wird. Dies ist derselbe, den Sie für das Skript uipathctl.sh bereitgestellt haben.

War diese Seite hilfreich?

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