automation-suite
2023.10
false
Automation Suite in der EKS/AKS-Installationsanleitung
- Überblick
- Anforderungen
- Installation
- Nach der Installation
- Migration und Upgrade
- Aktualisieren der Automation Suite auf EKS/AKS
- Schritt 1: Verschieben der Identitätsorganisationsdaten von einer eigenständigen in die Automation Suite
- Schritt 2: Wiederherstellen der eigenständigen Produktdatenbank
- Schritt 3: Sichern der Plattformdatenbank in der Automation Suite
- Schritt 4: Zusammenführen von Organisationen in der Automation Suite
- Schritt 5: Aktualisieren der migrierten Produktverbindungszeichenfolgen
- Schritt 6: Migrieren des eigenständigen Orchestrators
- Schritt 7: Migrieren von eigenständigen Insights
- Schritt 8: Migrieren des eigenständigen Test Managers
- Schritt 9: Löschen des Standardmandanten
- Durchführen der Migration eines einzelnen Mandanten
- Migrieren von der Automation Suite unter Linux zur Automation Suite unter EKS/AKS
- Überwachung und Warnungen
- Clusterverwaltung
- Produktspezifische Konfiguration
- Konfigurieren von Orchestrator-Parametern
- Orchestrator-appSettings
- Konfigurieren von AppSettings
- Konfigurieren der maximalen Anforderungsgröße
- Überschreiben der Speicherkonfiguration auf Clusterebene
- Konfigurieren von Anmeldeinformationsspeichern
- Konfigurieren der Verwendung von einem Verschlüsselungsschlüssel pro Mandant
- Bereinigen der Orchestrator-Datenbank
- Fehlersuche und ‑behebung
- Weiterleiten von Anwendungsprotokollen an Splunk
- So arbeiten Sie mit Zertifikaten
- Sammeln von DU-Nutzungsdaten mit dem clusterinternen Objektspeicher (Ceph)
- Deinstallieren der Automation Suite
- Das Sicherungssetup funktioniert nicht, da die Verbindung mit Azure Government fehlgeschlagen ist
- Hängende Pods im uipath-Namespace bei Aktivierung von benutzerdefinierten Knoten-Markierungen
- Automation Hub und Apps können mit Proxy-Setup nicht gestartet werden
- Pods können nicht mit FQDN in einer Proxy-Umgebung kommunizieren
- SQL-Verbindungszeichenfolge der Testautomatisierung wird ignoriert
- EKS-Sicherung aufgrund der Velero-Version
- Die Velero-Sicherung schlägt mit dem Fehler „FehlgeschlageneValidierung“ fehl
- Beim Zugriff auf den FQDN wird der Fehler „RBAC-Zugriff verweigert“ zurückgegeben
- Manuelle Schadensbegrenzung bei ArgoCD NetworkPolicy (GHSA-47m3-95c7-g2g8)
Wichtig :
Es kann 1–2 Wochen dauern, bis die Lokalisierung neu veröffentlichter Inhalte verfügbar ist.
Sammeln von DU-Nutzungsdaten mit dem clusterinternen Objektspeicher (Ceph)
Sammeln von Document Understanding-Nutzungsdaten, wenn der clusterinterne Objektspeicher (Ceph) in der Automation Suite in EKS/AKS verwendet wird.
In diesem Abschnitt wird erläutert, wie DU-Nutzungsdaten erfasst werden, wenn der clusterinterne Objektspeicher (Ceph) verwendet wird.
Führen Sie die folgenden Schritte aus:
- Bevor Sie das DU-Sammlerskript ausführen, stellen Sie sicher, dass Sie die folgenden Werte aktualisieren:
<REGISTRY>:- Verwenden Sie
localhost:30071für Offlinebereitstellungen. - Verwenden Sie
registry.uipath.comfür Onlinebereitstellungen. - Verwenden Sie Ihre externe Registrierungs-URL für private Registrierungen.
- Verwenden Sie
<TAG>: Öffnen Sieversions.jsonund suchen Sie das Image-Tagsf-k8-utils-rhel. Verwenden Sie dieses Tag, um<TAG>im Skript zu ersetzen.
- Führen Sie das DU-Nutzungssammlungsskript aus, nachdem Sie die Werte wie folgt aktualisiert haben:
NAMESPACE="rook-ceph" POD_NAME="du-usage-collector" SECRET_NAME="ceph-object-store-secret" LOCAL_TAR="du-usage.tar.gz" MOUNTED_SECRET_PATH="/rook-secret" TARGET_PATH="aistorage/org-00000000-0000-0000-0000-000000000001/tenant-00000000-0000-0000-0000-000000000001" BUCKET_NAME="ai-storage" IMAGE="<REGISTRY>/uipath/sf-k8-utils-rhel:<TAG>" echo "[*] Removing pod $POD_NAME in namespace $NAMESPACE..." kubectl delete pod "$POD_NAME" -n "$NAMESPACE" --ignore-not-found=true echo "[*] Creating pod $POD_NAME in namespace $NAMESPACE..." kubectl apply -n "$NAMESPACE" -f - <<EOF apiVersion: v1 kind: Pod metadata: name: $POD_NAME namespace: $NAMESPACE spec: restartPolicy: Never containers: - name: sleep image: $IMAGE command: ["bash", "-c", "echo 'Main container started, sleeping...'; sleep 3600"] volumeMounts: - name: output mountPath: /output initContainers: - name: du-usage-collector image: $IMAGE command: ["/bin/bash", "-c"] args: - | set -euo pipefail echo "[*] Extracting Ceph secret values..." ACCESS_KEY=\$(cat $MOUNTED_SECRET_PATH/OBJECT_STORAGE_ACCESSKEY) SECRET_KEY=\$(cat $MOUNTED_SECRET_PATH/OBJECT_STORAGE_SECRETKEY) HOST=\$(cat $MOUNTED_SECRET_PATH/OBJECT_STORAGE_INTERNAL_SERVICE) PORT=\$(cat $MOUNTED_SECRET_PATH/OBJECT_STORAGE_PORT) export AWS_ACCESS_KEY_ID=\$ACCESS_KEY export AWS_SECRET_ACCESS_KEY=\$SECRET_KEY echo "[*] Syncing from s3://$BUCKET_NAME/$TARGET_PATH ..." mkdir -p /tmp/download s3cmd sync s3://$BUCKET_NAME/$TARGET_PATH/ /tmp/download/ \ --host=\$HOST:\$PORT --host-bucket= --no-ssl --no-check-certificate echo "[*] Creating archive..." mkdir -p /output tar -czf /output/du-usage.tar.gz -C /tmp/download . echo "[-] Archive ready at /output/du-usage.tar.gz" volumeMounts: - name: rook-secret mountPath: $MOUNTED_SECRET_PATH readOnly: true - name: output mountPath: /output volumes: - name: rook-secret secret: secretName: $SECRET_NAME optional: false - name: output emptyDir: {} EOF echo "[*] Waiting for pod to be Running..." for i in {1..30}; do phase=$(kubectl get pod "$POD_NAME" -n "$NAMESPACE" -o jsonpath="{.status.phase}") if [[ "$phase" == "Running" ]]; then echo "Pod is Running." break fi echo "[$i] Still waiting..." sleep 5 done echo -e "\nArchive will be saved as: $LOCAL_TAR\n\n" echo "[*] Copying archive from pod to local..." kubectl cp "$NAMESPACE/$POD_NAME:/output/du-usage.tar.gz" "$LOCAL_TAR"NAMESPACE="rook-ceph" POD_NAME="du-usage-collector" SECRET_NAME="ceph-object-store-secret" LOCAL_TAR="du-usage.tar.gz" MOUNTED_SECRET_PATH="/rook-secret" TARGET_PATH="aistorage/org-00000000-0000-0000-0000-000000000001/tenant-00000000-0000-0000-0000-000000000001" BUCKET_NAME="ai-storage" IMAGE="<REGISTRY>/uipath/sf-k8-utils-rhel:<TAG>" echo "[*] Removing pod $POD_NAME in namespace $NAMESPACE..." kubectl delete pod "$POD_NAME" -n "$NAMESPACE" --ignore-not-found=true echo "[*] Creating pod $POD_NAME in namespace $NAMESPACE..." kubectl apply -n "$NAMESPACE" -f - <<EOF apiVersion: v1 kind: Pod metadata: name: $POD_NAME namespace: $NAMESPACE spec: restartPolicy: Never containers: - name: sleep image: $IMAGE command: ["bash", "-c", "echo 'Main container started, sleeping...'; sleep 3600"] volumeMounts: - name: output mountPath: /output initContainers: - name: du-usage-collector image: $IMAGE command: ["/bin/bash", "-c"] args: - | set -euo pipefail echo "[*] Extracting Ceph secret values..." ACCESS_KEY=\$(cat $MOUNTED_SECRET_PATH/OBJECT_STORAGE_ACCESSKEY) SECRET_KEY=\$(cat $MOUNTED_SECRET_PATH/OBJECT_STORAGE_SECRETKEY) HOST=\$(cat $MOUNTED_SECRET_PATH/OBJECT_STORAGE_INTERNAL_SERVICE) PORT=\$(cat $MOUNTED_SECRET_PATH/OBJECT_STORAGE_PORT) export AWS_ACCESS_KEY_ID=\$ACCESS_KEY export AWS_SECRET_ACCESS_KEY=\$SECRET_KEY echo "[*] Syncing from s3://$BUCKET_NAME/$TARGET_PATH ..." mkdir -p /tmp/download s3cmd sync s3://$BUCKET_NAME/$TARGET_PATH/ /tmp/download/ \ --host=\$HOST:\$PORT --host-bucket= --no-ssl --no-check-certificate echo "[*] Creating archive..." mkdir -p /output tar -czf /output/du-usage.tar.gz -C /tmp/download . echo "[-] Archive ready at /output/du-usage.tar.gz" volumeMounts: - name: rook-secret mountPath: $MOUNTED_SECRET_PATH readOnly: true - name: output mountPath: /output volumes: - name: rook-secret secret: secretName: $SECRET_NAME optional: false - name: output emptyDir: {} EOF echo "[*] Waiting for pod to be Running..." for i in {1..30}; do phase=$(kubectl get pod "$POD_NAME" -n "$NAMESPACE" -o jsonpath="{.status.phase}") if [[ "$phase" == "Running" ]]; then echo "Pod is Running." break fi echo "[$i] Still waiting..." sleep 5 done echo -e "\nArchive will be saved as: $LOCAL_TAR\n\n" echo "[*] Copying archive from pod to local..." kubectl cp "$NAMESPACE/$POD_NAME:/output/du-usage.tar.gz" "$LOCAL_TAR" - Löschen Sie den Pod, nachdem Sie das Archiv abgerufen haben:
kubectl delete pod "$POD_NAME" -n "$NAMESPACE"kubectl delete pod "$POD_NAME" -n "$NAMESPACE"
Die Datei du-usage.tar.gz enthält die DU-Nutzungsdaten.