automation-suite
2023.4
false
Wichtig :
Bitte beachten Sie, dass dieser Inhalt teilweise mithilfe von maschineller Übersetzung lokalisiert wurde.
UiPath logo, featuring letters U and I in white
Automation Suite unter Linux – Installationsanleitung
Last updated 21. Nov. 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.

uipathctl.sh parameters

Parameter

Beschreibung

upgrade

Aktualisieren Sie den Cluster.

sso-generate-connector

Generieren Sie eine Beispieldatei, die einen Dex-Connector zum Aktivieren von SSO darstellt.

sso-generate-rbac

Generieren Sie eine ArgoCD-RBAC-Beispieldatei.

sso-generate-overlays

Generieren Sie die Kustomize-Overlays für die ArgoCD- und Dex-Bereitstellung mit SSO. Nützlich beim Debuggen.

sso-apply-overlays

Generieren und wenden Sie die Kustomize-Overlays für ArgoCD und Dex mit SSO an.

--steps <all|bundles|infra|fabric|services>

Dieses Flag wird nur angezeigt, wenn Sie den Befehl upgrade verwenden.
Schritte, die während Upgradevorgängen ausgeführt werden sollen. Standardwert ist all .
  • all – Führt alle Schritte aus
  • bundles – Kopiert erforderliche Offlinepakete auf alle Knoten
  • infra – Führt die Infra-Installation auf Server- und Agentknoten aus
  • fabric – Führt die Fabric-Installation auf einem Server aus
  • services – Führt die Installation von Diensten auf einem Server aus

--install-type <online|offline>

Installationstyp. Erforderlich für Upgrade und Wiederherstellung.

--cluster-config

Pfad zu Ihrer cluster_config.json -Datei. Wenn nicht angegeben, wird eine Konfigurationsdatei generiert.

--kubeconfig

Pfad zu einer Kubeconfig-Datei, die eine Verbindung mit dem Cluster ermöglicht. Standardwert ist /etc/rancher/rke2/rke2.yaml .

--inventory

Pfad zu einem gültigen Ansible-Inventar, das den Cluster beschreibt. Wenn nicht angegeben, wird eine Bestandsaufnahme generiert.

--ansible-username

Der Benutzername, der von Ansible zum Herstellen einer Verbindung mit Clusterknoten verwendet werden soll. Standardmäßig ist der aktuelle Benutzer.

--ansible-private-key

Der private SSH-Schlüssel, der die Konnektivität zu Clusterknoten bereitstellt. Wenn nicht angegeben, wird ein Satz von Kennwörtern abgefragt.

--ansible-ask-password

Bitten Sie Ansible, einen Kennwortsatz für SSH-Verbindungen und Erhöhungen anzufordern.

--ansible-config

Geben Sie den Pfad zu einem benutzerdefinierten ansible.cfg an, das verwendet werden soll.

--offline-infra-bundle

Pfad zur as-infra.tar.gz -Datei. Erforderlich für Offline-Upgrades.

--disable-cni-upgrade

Führen Sie kein CNI-Upgrade durch.

--sso-connector-type

Connector-Typ für sso-generate-connector .

--sso-connector-file

Pfad zu einer Datei, die einen Dex Connector für die SSO-Integration enthält.

--sso-rbac-file

Pfad zu einer Datei, die einen Dex Connector für die SSO-Integration enthält.

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.

Sie müssen sicherstellen, dass die folgenden Tools auf dem Ansible-Hostknoten installiert sind:

  • ansible (v2.8+)
  • ansible-playbook
  • sshpass – Nur erforderlich, wenn ein Kennwort für die Authentifizierung zusammen mit dem Parameter --ansible-ask-password verwendet wird.
  • ZIP

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 Handbuchzu ssh-agent.
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.

Ü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

    Führen Sie Folgendes aus, um zu überprüfen, ob zip installiert wurde:
    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. Stellen Sie sicher, dass Sie die erforderlichen Tools installieren.

Erweiterte Ansible-Konfiguration

Aktivieren der yaml-Ausgabe

Um eine visuell bessere Ausgabe zu erzielen, empfehlen wir die Verwendung der yaml -Ausgabe für Ansible, indem Sie den folgenden Befehl ausführen:
export ANSIBLE_STDOUT_CALLBACK=yamlexport ANSIBLE_STDOUT_CALLBACK=yaml

Diese Funktion wurde in Ansible 2.9 eingeführt und muss für bestimmte Installationen durch Ausführen des folgenden Befehls aktiviert werden:

ansible-galaxy collection install community.generalansible-galaxy collection install community.general
Wenn nach der Installation der community.general -Sammlung immer noch die Meldung ERROR! Invalid callback for stdout specified: yaml angezeigt wird, können Sie die yaml -Ausgabe deaktivieren, indem Sie den folgenden Befehl ausführen:
unset ANSIBLE_STDOUT_CALLBACKunset ANSIBLE_STDOUT_CALLBACK

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 Erstellen Ihres eigenen Inventars.

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'
[ASROBOTS]
'10.0.1.8'
[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'
[ASROBOTS]
'10.0.1.8'
[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.

[ASROBOTS]

Die Gruppe der Automation Suite-Roboterknoten im Cluster.

Sie müssen die private IP-Adresse aller Automation Suite-Roboterknoten 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: as-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: as-infra.tar.gz
infra_bundle_basepath: /var/tmp/uipath_upgrade_<version>

Variable

Wert

installer_path

Der Pfad von as-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 `/opt/UiPathAutomationSuite/{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 as-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 White
Vertrauen und Sicherheit
© 2005–2024 UiPath. Alle Rechte vorbehalten