automation-suite
2024.10
true
UiPath logo, featuring letters U and I in white

Automation Suite auf EKS/AKS-Installationsanleitung

Letzte Aktualisierung 21. Nov. 2024

Migrieren zwischen Automation Suite-Clustern

Über die Clustermigration

Sie können von einem Automation Suite-Cluster zu einem anderen migrieren, wenn Sie den Namespace uipath anstelle eines benutzerdefinierten Namespace verwenden und von einer Automation Suite-Variante zu einer anderen wechseln möchten. Wir unterstützen die folgenden Szenarien:
  • Migrieren von der Automation Suite unter Linux zu einer neuen Installation der Automation Suite unter EKS/AKS oder der Automation Suite unter OpenShift;

  • Migrieren von der Automation Suite auf EKS/AKS zu einer neuen Installation der Automation Suite unter OpenShift;

  • Migrieren von der Automation Suite auf OpenShift zu einer neuen Installation der Automation Suite auf EKS/AKS;

  • Migrieren Sie von der Automation Suite auf EKS zur Automation Suite auf AKS oder von der Automation Suite auf AKS zur Automation Suite auf EKS.

Beachten Sie, dass Sie versuchen können, den Migrationsvorgang mehrmals durchzuführen, ohne dass Auswirkungen auf Ihren vorhandenen Cluster auftreten.

Die folgenden Migrationsszenarien werden nicht unterstützt:

  • Migrieren von der Automation Suite unter Linux zu einer vorhandenen Installation der Automation Suite unter OpenShift;

  • Migrieren einer Automation Suite im OpenShift-Cluster zur Automation Suite im Linux-Cluster.

Prozessübersicht

Schritt

Beschreibung

1.

Obligatorisch. Stellen Sie sicher, dass Sie die Migrationsanforderungen erfüllen.

2.

Obligatorisch. Bereiten Sie den Zielcluster und die Docker-Images für den Quell- sowie den Zielcluster vor.

Optional. Wenn Ihre Bereitstellung offline ist oder wenn Sie eine private OCI-Registrierung verwenden, stellen Sie sicher, dass die erforderlichen Images verfügbar sind.

3.

Obligatorisch. Starten Sie die Migration, verschieben Sie die Daten und führen Sie die Automation Suite-Installation aus.

4.

Optional. Wenn das AI Center sowohl im Quell- als auch im Zielcluster aktiviert ist, migrieren Sie die Fähigkeiten.

Anforderungen

Um von einem Automation Suite-Cluster zu einem anderen zu migrieren, müssen die folgenden Voraussetzungen erfüllt sein:

  • Laden Sie die folgenden Artefakte herunter:

  • Sie müssen eine Konnektivität zwischen den beiden Umgebungen herstellen.

  • In Ihrem Quellcluster muss ein externer Objektspeicher konfiguriert sein. Wenn Sie clusterinternen Speicher verwenden, finden Sie weitere Informationen unter Migrieren des clusterinternen Objectstores zum externen Objectstore.

  • Wenn Sie von der Automation Suite unter Linux migrieren, muss die Version Ihres Quellclusters 2022.10 oder höher sein.

  • Wenn Sie auf OpenShift zur Automation Suite migrieren, muss die Version Ihres Quellclusters 2023.10 oder höher sein.

  • Nur-Offline-Anforderungen: Sie müssen den Zielcluster hydratisieren.

Datenmigration und Zuständigkeiten

Daten

Migrationsmechanismus

StatusVerantwortung

SQL

Beibehalten

Sie haben zwei Optionen:

  1. Verwenden Sie dieselben Datenbanken für die neue Installation wieder. Verweisen Sie die SQL-Verbindungszeichenfolgen der Clusterkonfiguration auf den vorhandenen Datenbankserver.

  2. Klonen Sie Ihre Datenbanken und verwenden Sie stattdessen die Klone.

Kunde

Docker-Registrierung

Nicht migriert

Wenn Sie eine private Registrierung verwenden, müssen Sie die Zielregistrierung hydratisieren. Wenn Sie registry.uipath.com für den Zielcluster verwenden, sind keine weiteren Schritte erforderlich.)

Kunde

FQDN

Optional

Sie müssen einen neuen FQDN für den neuen Cluster auswählen. Optional können Sie bei Bedarf zum vorherigen FQDN zurückkehren.

Kunde
Zertifikat

Nicht migriert

Sie müssen Zertifikate als Teil der neuen Clusterinstallation mitbringen.

Kunde
Clusterkonfiguration

Nicht migriert

Sie müssen das neue input.json für den Zielclustertyp (AKS oder EKS) generieren.
Kunde
Benutzerdefinierte Warnungen und Dashboards, die von Benutzern erstellt wurden

Nicht migriert

Sie müssen die benutzerdefinierten Warnungen und Dashboards nach der Migration neu konfigurieren.

Kunde
Von Benutzern erstellte Anwendungsprotokolle / Prometheus-Streaming-Konfiguration

Nicht migriert

Sie müssen das Anwendungsprotokoll und das Prometheus-Streaming neu konfigurieren.

Kunde
Dynamische Workloads

Abhängig von der Anwendung

AI Center-Trainingsaufträge gehen verloren; Fähigkeiten werden beibehalten.

Fähigkeiten (Skript, das nach dem Upgrade ausgeführt werden muss): UiPath®

Trainingsaufträge: Kunde

Objektspeicher

Externer Objektspeicher: Beibehalten

Für den externen Objektspeicher haben Sie zwei Optionen:

  1. Verwenden Sie den vorhandenen externen Objektspeicher wieder und verbinden Sie ihn mit der neuen Umgebung.

  2. Erstellen Sie ein Replikat Ihres aktuellen Objektspeichers und verwenden Sie es für das neue Setup.

Wichtig: Wenn Sie einen clusterinternen Objektspeicher verwenden, müssen Sie vor dem Upgrade eine Migration von Ceph nach extern durchführen.

Migration vom clusterinternen zum externen Objektspeicher: Kunde

Externer Objektspeicher: UiPath®

Insights

Beibehalten

UiPath®

MongoDB-Daten

Beibehalten

MongoDB-Daten werden in die Ziel-SQL verschoben.

UiPath®

RabbitMQ

Nicht benötigt

UiPath®

Überwachen (Daten)

Nicht benötigt

Überwachungsdaten gelten nicht für den neuen Cluster.

Keine Angabe

Vorbereiten der Clustermigration

Vorbereiten des Zielclusters

Hinweis:

Ändern Sie nicht den Quellcluster, nachdem Sie den Migrationsprozess gestartet haben.

Führen Sie die folgenden Schritte aus, um den Zielcluster vorzubereiten:

  1. Laden Sie die Zielversion von input.json auf den Quellcluster herunter und generieren Sie die input.json -Datei, indem Sie den folgenden Befehl ausführen:
    uipathctl manifest get-revisionuipathctl manifest get-revision
    Weitere Informationen finden Sie im folgenden Diagramm:
    docs image
  2. Ändern Sie basierend auf der zuvor generierten input.json-Datei die input.json-Datei des Zielclusters.

    Sie müssen die Orchestrator-spezifische Konfiguration übertragen, die den Verschlüsselungsschlüssel pro Mandant und die Azure/Amazon S3 Bucket-Einstellungen enthält.

  3. Überprüfen Sie die Voraussetzungen im Zielcluster, indem Sie den folgenden Befehl ausführen:
    uipathctl prereq run input-target.json --kubeconfig kubeconfig.target --versions versions.jsonuipathctl prereq run input-target.json --kubeconfig kubeconfig.target --versions versions.json
    Hinweis:
    input-target.json ist die input.json -Datei, die dem Zielcluster entspricht.
  4. Klonen Sie die SQL-Datenbanken von der Quellbereitstellung auf die Zielbereitstellung.

Hydratisieren der OCI-konformen Registrierungsstelle ohne Internetzugang

Für den Migrationsprozess muss das neueste Docker-Image-Tag uipathcore sowohl für den Quell- als auch für den Zielcluster verfügbar sein. Wenn Ihr Quellcluster offline ist, stellen Sie das Image mit den folgenden Schritten zur Verfügung:
  1. Führen Sie die Schritte aus, um die vom Zielcluster verwendete Registrierung mit dem Offlinepaket in Option B: Hydratisieren der Registrierung mit dem Offlinepaket zu hydratisieren.
  2. Kopieren Sie die Binärdatei uipathctl und die Datei versions.json auf eine VM mit Zugriff auf den Quellcluster.
  3. Führen Sie den folgenden Befehl aus:
    jq -r '.[][] | select(.name=="uipath/uipathcore") | .ref + ":" + .version' "/path/to/versions.json" > images.txtjq -r '.[][] | select(.name=="uipath/uipathcore") | .ref + ":" + .version' "/path/to/versions.json" > images.txt
  4. Legen Sie das Image uipathcore aus der Registrierung des Zielclusters in der Registrierung des Quellclusters an:
    ./uipathctl registry seed --tag-file ./images.txt \
                --source-registry "target.registry.fqdn.com" \
                --source-password "target-registry-username" \
                --source-username "target-registry-password" \
                --dest-registry "source.registry.fqdn.com" \
                --dest-username "source-registry-username" \
                --dest-password "source-registry-password"./uipathctl registry seed --tag-file ./images.txt \
                --source-registry "target.registry.fqdn.com" \
                --source-password "target-registry-username" \
                --source-username "target-registry-password" \
                --dest-registry "source.registry.fqdn.com" \
                --dest-username "source-registry-username" \
                --dest-password "source-registry-password"
    Hinweis: Stellen Sie sicher, dass Sie den Befehl wie folgt aktualisieren:
    • Ersetzen Sie target.registry.fqdn.com, target.registry.fqdn.com und target-registry-password durch die richtigen Werte, die der Registrierung entsprechen, die dem Zielcluster zugeordnet ist;
    • Ersetzen Sie source.registry.fqdn.com, source.registry.fqdn.com und source-registry-password durch die richtigen Werte, die der Registrierung entsprechen, die dem Quellcluster zugeordnet ist.

Hydratisieren der OCI-konformen Registrierung mit Internetzugang

Bei Verwendung eines privaten Registers müssen Sie dieses seeden. Anweisungen finden Sie unter Konfigurieren der OCI-konformen Registrierung.

Ausführen der Clustermigration

Führen Sie die folgenden Schritte aus, um zum Automation Suite-Zielcluster zu migrieren:

  1. Führen Sie die Migration aus, indem Sie den folgenden Befehl ausführen:
    uipathctl cluster migration run input-target.json --kubeconfig kubeconfig.source --target-kubeconfig kubeconfig.target --versions versions-target.jsonuipathctl cluster migration run input-target.json --kubeconfig kubeconfig.source --target-kubeconfig kubeconfig.target --versions versions-target.json
  2. Schließen Sie die Automation Suite-Installation auf dem Zielcluster ab, indem Sie den folgenden Befehl ausführen:
    uipathctl manifest apply input-target.json --kubeconfig kubeconfig.target --versions versions-target.jsonuipathctl manifest apply input-target.json --kubeconfig kubeconfig.target --versions versions-target.json

Migrieren der AI Center-Fähigkeiten

Die Schritte in diesem Abschnitt gelten nur, wenn Sie das AI Center im Quell- sowie im Zielcluster aktiviert haben. Beachten Sie, dass die Anweisungen davon ausgehen, dass AI Center im Zielcluster auf die Datenbank verweist, welche die Fähigkeitsdaten zum Ausführen der Fähigkeiten enthält.

Nach Abschluss der Migration müssen Sie die AI Center-Fähigkeiten synchronisieren, damit Sie sie erneut verwenden können.

Überprüfen des Status der Fähigkeitsmigration

Um den Status der Fähigkeiten in der entsprechenden Automation Suite im EKS/AKS-Cluster abzurufen, führen Sie die folgenden Schritte aus:
  1. Richten Sie die Variablen für die Ausführung der nächsten Befehle ein.
    aicJobsImage=$(kubectl -n <uipath> get configmap aic-jobs-config -o "jsonpath={.data['aicenter/aicenter-jobs:v23.10-10.15-rc02']}")
    podName="skillstatuspod"aicJobsImage=$(kubectl -n <uipath> get configmap aic-jobs-config -o "jsonpath={.data['aicenter/aicenter-jobs:v23.10-10.15-rc02']}")
    podName="skillstatuspod"
  2. Bereinigen Sie skillstatuspod, der eventuell ausgeführt wird, bevor Sie den Fähigkeitsstatus erneut abrufen. Der folgende Befehl löscht den Pod aus der vorherigen Iteration, also verwenden Sie ihn mit Vorsicht.
    kubectl -n <uipath> delete pod "$podName" --force.kubectl -n <uipath> delete pod "$podName" --force. 
  3. Erstellen Sie den skillstatuspod, um den Fähigkeitsstatus abzurufen. Der Pod kann einige Zeit zum Abrufen des Image und zur Ausführung benötigen, normalerweise weniger als 30 Sekunden.
    skill_arr="[]"
    kubectl -n <uipath> run "$podName" --image="$aicJobsImage" --restart=Never --labels="app.kubernetes.io/component=aicenter" --overrides='{ "metadata": { "annotations": {"sidecar.istio.io/inject": "false"}}}' --command -- /bin/bash -c "curl -sSL -XPOST -H 'Content-Type: application/json' 'ai-deployer-svc.uipath.svc.cluster.local/ai-deployer/v1/system/mlskills:restore-status' -d \"$skill_arr\" | jq -r '([\"SKILL_ID\",\"SKILL_NAME\", \"STATUS\"] | (., map(length*\"-\"))), (.data[] | [.skillId, .skillName, .syncStatus]) | @tsv' | column -ts $'\t'; exit"skill_arr="[]"
    kubectl -n <uipath> run "$podName" --image="$aicJobsImage" --restart=Never --labels="app.kubernetes.io/component=aicenter" --overrides='{ "metadata": { "annotations": {"sidecar.istio.io/inject": "false"}}}' --command -- /bin/bash -c "curl -sSL -XPOST -H 'Content-Type: application/json' 'ai-deployer-svc.uipath.svc.cluster.local/ai-deployer/v1/system/mlskills:restore-status' -d \"$skill_arr\" | jq -r '([\"SKILL_ID\",\"SKILL_NAME\", \"STATUS\"] | (., map(length*\"-\"))), (.data[] | [.skillId, .skillName, .syncStatus]) | @tsv' | column -ts $'\t'; exit"
    Hinweis:
    • Ersetzen Sie $skill_arr durch [] , um alle Fähigkeiten auszuführen, oder ['abcd', 'efgh'] , um nur die beiden genannten Fähigkeiten auszuführen.
    • Die Ausgabe skills id wird für die nächsten Befehle benötigt.
  4. Überprüfen Sie die Ausgabe des Fähigkeitsstatus.
    kubectl -n <uipath> logs -f "$podName" -c "$podName"kubectl -n <uipath> logs -f "$podName" -c "$podName"

Ausführen der Fähigkeitsmigration

Um die Fähigkeitsmigration auszuführen, führen Sie die folgenden Schritte aus:

  1. Richten Sie die Variablen für die Ausführung der nächsten Befehle ein.
    aicJobsImage=$(kubectl -n uipath get configmap aic-jobs-config -o "jsonpath={.data['AIC_JOBS_IMAGE']}")
    podName="skillsyncpod"aicJobsImage=$(kubectl -n uipath get configmap aic-jobs-config -o "jsonpath={.data['AIC_JOBS_IMAGE']}")
    podName="skillsyncpod"
  2. Bereinigen Sie skillsyncpod, der eventuell ausgeführt wird, bevor Sie den Fähigkeitsstatus erneut abrufen. Der folgende Befehl löscht den Pod aus der vorherigen Iteration, also verwenden Sie ihn mit Vorsicht.
    kubectl -n uipath delete pod "$podName" --forcekubectl -n uipath delete pod "$podName" --force
  3. Starten Sie die Synchronisierung der Fähigkeiten. Der Pod kann einige Zeit zum Abrufen des Image und zur Ausführung benötigen, normalerweise weniger als 30 Sekunden.
    kubectl -n uipath run "$podName" --image="$aicJobsImage" --restart=Never --labels="app.kubernetes.io/component=aicenter" --overrides='{ "metadata": { "annotations": {"sidecar.istio.io/inject": "false"}}}' --command -- /bin/bash -c "curl -sSL -XPOST -H 'Content-Type: application/json' 'ai-deployer-svc.uipath.svc.cluster.local/ai-deployer/v1/system/mlskills:restore-all' -d \"[\"skill_id1\", \"skill_id2\", .... ]\"; exit"kubectl -n uipath run "$podName" --image="$aicJobsImage" --restart=Never --labels="app.kubernetes.io/component=aicenter" --overrides='{ "metadata": { "annotations": {"sidecar.istio.io/inject": "false"}}}' --command -- /bin/bash -c "curl -sSL -XPOST -H 'Content-Type: application/json' 'ai-deployer-svc.uipath.svc.cluster.local/ai-deployer/v1/system/mlskills:restore-all' -d \"[\"skill_id1\", \"skill_id2\", .... ]\"; exit"
    Hinweis: Ersetzen Sie skill ids durch die Werte, die während des Verfahrens zum Überprüfen des Status der Fähigkeitsmigration kopiert wurden.
    Im folgenden Beispiel sehen Sie, wie Sie die Variable skill_arr deklarieren:
    skill_arr='[\"fb14154a-ce63-43ab-yyyy-xxxxxxxxxxxxxx\", \"ad58942d-e038-4d38-yyyy-xxxxxxxxxxxx\"]' # Replace them with ML skill ids in your environment
    kubectl -n uipath run "$podName" --image="$aicJobsImage" --restart=Never --labels="app.kubernetes.io/component=aicenter" --overrides='{ "metadata": { "annotations": {"sidecar.istio.io/inject": "false"}}}' --command -- /bin/bash -c -x "curl -sSL -XPOST -H 'Content-Type: application/json' '/ai-deployer/v1/system/mlskills:restore-all' -d \"$skill_arr\"; exit"skill_arr='[\"fb14154a-ce63-43ab-yyyy-xxxxxxxxxxxxxx\", \"ad58942d-e038-4d38-yyyy-xxxxxxxxxxxx\"]' # Replace them with ML skill ids in your environment
    kubectl -n uipath run "$podName" --image="$aicJobsImage" --restart=Never --labels="app.kubernetes.io/component=aicenter" --overrides='{ "metadata": { "annotations": {"sidecar.istio.io/inject": "false"}}}' --command -- /bin/bash -c -x "curl -sSL -XPOST -H 'Content-Type: application/json' '/ai-deployer/v1/system/mlskills:restore-all' -d \"$skill_arr\"; exit"
  4. Überprüfen Sie die Ausgabe des Synchronisierungsstatus der Fähigkeiten.
    kubectl -n uipath logs -f "$podName" -c "$podName"kubectl -n uipath logs -f "$podName" -c "$podName"
  5. Der Vorgang kann je nach Anzahl der zu synchronisierenden Fähigkeiten viel Zeit in Anspruch nehmen und Sie können den Status der Fähigkeitsmigration regelmäßig überprüfen, bis keine Fähigkeit mehr im Status IN_PROGRESS vorhanden ist.
Hinweis:
Wenn Sie den Status der Fähigkeitsmigration überprüfen oder die Fähigkeitsmigration ausführen, gilt dies für alle Fähigkeiten gleichzeitig. Alternativ können Sie diese Vorgänge nur für ausgewählte Fähigkeiten ausführen, indem Sie -d "[skill_id1, skill_id2, .... ]" als zusätzliches Argument an curl in Schritt 3 übergeben.

War diese Seite hilfreich?

Hilfe erhalten
RPA lernen – Automatisierungskurse
UiPath Community-Forum
Uipath Logo White
Vertrauen und Sicherheit
© 2005–2024 UiPath. Alle Rechte vorbehalten