- Überblick
- Anforderungen
- Vor der Installation
- Vorbereiten der Installation
- Herunterladen der Installationspakete
- Konfigurieren der OCI-konformen Registrierung
- Erteilen von Installationsberechtigungen
- Installieren und Konfigurieren des Dienstgeflechts
- Installieren und Konfigurieren des GitOps-Tools
- Installieren des Operators „Externe Geheimnisse“ in Kubernetes
- Anwenden verschiedener Konfigurationen
- Ausführen von uipathctl
- Installation
- Nach der Installation
- Migration und Upgrade
- Aktualisieren der Automation Suite
- Migrieren zwischen Automation Suite-Clustern
- Migrieren von der Automation Suite auf EKS/AKS zur Automation Suite auf OpenShift
- Überwachung und Warnungen
- Clusterverwaltung
- Produktspezifische Konfiguration
- Erweiterte Orchestrator-Konfiguration
- Konfigurieren von Orchestrator-Parametern
- Konfigurieren von AppSettings
- Konfigurieren der maximalen Anforderungsgröße
- Überschreiben der Speicherkonfiguration auf Clusterebene
- Konfigurieren von NLog
- Speichern von Roboterprotokollen in Elasticsearch
- Konfigurieren von Anmeldeinformationsspeichern
- Konfigurieren der Verwendung von einem Verschlüsselungsschlüssel pro Mandant
- Bereinigen der Orchestrator-Datenbank
- Installation der Hostbibliothek überspringen
- AI Trust Layer
- Fehlersuche und ‑behebung
- AI Center-Bereitstellungsfehler nach Upgrade auf 2023.10 oder höher
- Insights-Volumes, die nach der Migration in zwei verschiedenen Zonen erstellt wurden
- Upgrade schlägt aufgrund überschriebener Insights-PVC-Größen fehl
- Velero-Backup-Komponenten bleiben nach dem Upgrade auf AKS von Automation Suite 2024.10.x erhalten
- 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
- Die Velero-Sicherung schlägt mit dem Fehler „FehlgeschlageneValidierung“ fehl
- Fehlerbehebung bei externen Geheimnissen
- Temporär als Dienst-Fehlerbehebung
- AI Center und Document Understanding Pods können bei aktivierter TLS-Zertifikatsverifizierung nicht gestartet werden
- Validierungsfehler beim TLS-Zertifikat
- Fluentd exportiert keine Protokolle in IPv6-Umgebungen
- Studio Desktop kann keine Integration Service-Connectors und -Aktivitäten laden
- Manuelle Schadensbegrenzung bei ArgoCD NetworkPolicy (GHSA-47m3-95c7-g2g8)
- Konfigurieren von Ressourcenanforderungen und Limits für von uipathctl erstellte Workloads
Migrieren von der Automation Suite auf EKS/AKS zur Automation Suite auf OpenShift
Migrieren Sie Kubernetes-Ressourcen, -Daten und -Insights von der Automation Suite auf EKS/AKS zu OpenShift.
Sie können von der Automation Suite, die auf EKS/AKS bereitgestellt wurde, zur Automation Suite auf OpenShift migrieren. Dazu müssen Sie Ihre Kubernetes-Ressourcen verschieben und ggf. Ihre Daten und Insights migrieren.
Schritt 1: Migrieren von Kubernetes-Ressourcen
Um Ihre Kubernetes-Ressourcen von EKS/AKS zu OpenShift zu migrieren, führen Sie die folgenden Schritte aus:
-
Exportieren Sie Ihre Kubernetes-Ressourcen aus dem EKS/AKS-Cluster:
uipathctl cluster migration export ~/Downloads/aksinput.json --output-dir ~/Migrate --kubeconfig ~/Downloads/akskubeconfig --log-level debuguipathctl cluster migration export ~/Downloads/aksinput.json --output-dir ~/Migrate --kubeconfig ~/Downloads/akskubeconfig --log-level debug -
Aktualisieren Sie die Werte für
namespace,resourceVersionunduidin der im Ausgabeverzeichnis generierten Datei. Ersetzen Sie <uipath> durch den Namespace, den Sie verwenden möchten.sed -i '' 's/namespace: uipath/namespace: <uipath>/g' source-cluster-223902721 sed -i '' 's/namespace: airflow/namespace: <uipath>/g' source-cluster-223902721 sed -i '' '/ resourceVersion:/d' source-cluster-223902721 sed -i '' '/ uid:/d' source-cluster-223902721sed -i '' 's/namespace: uipath/namespace: <uipath>/g' source-cluster-223902721 sed -i '' 's/namespace: airflow/namespace: <uipath>/g' source-cluster-223902721 sed -i '' '/ resourceVersion:/d' source-cluster-223902721 sed -i '' '/ uid:/d' source-cluster-223902721 -
Erstellen Sie die Manifeste im Zielcluster mithilfe von dessen kubeconfigr:
kubectl apply -f source-cluster-223902721 --namespace=<namespace>kubectl apply -f source-cluster-223902721 --namespace=<namespace> -
Schließen Sie nach Abschluss der Daten- und Insights-Migration (Schritt 2 und Schritt 3) 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
Schritt 2: Migrieren von Daten
Um Ihre Daten von der Automation Suite auf EKS/AKS zur Automation Suite auf OpenShift zu migrieren, führen Sie die folgenden Schritte aus:
- Kopieren Sie alle Daten aus dem Quellobjektspeicher in den Zielobjektspeicher. Überspringen Sie diesen Schritt, wenn Sie denselben Objektspeicher im Zielcluster verwenden möchten.
- Kopieren Sie die SQL-Daten vom Quell-SQL-Server auf den Ziel-SQL-Server. Überspringen Sie diesen Schritt, wenn Sie denselben SQL-Server im Zielcluster verwenden möchten.
Schritt 3: Migrieren von Insights
Über die Insights-Migration
Um Insights zu migrieren, müssen Sie die folgenden PVCs migrieren:
insights-looker-lookerdir-pvc(PVC-Größe: 500 Mi)insights-looker-datadir-pvc(PVC-Größe: 10 Gi)
So migrieren Sie Insights
Führen Sie die folgenden Schritte aus, um die Insights-PVCs zu migrieren:
-
Erstellen Sie das externe Speichergeheimnis, indem Sie einen der folgenden Befehle ausführen.
-
Wenn Sie S3-kompatiblen Speicher verwenden, führen Sie den folgenden Befehl aus:
kubectl create secret -n <namespace> generic export-externalobjects-secret \ --from-literal=ACCESSKEY=<accesskey> \ --from-literal=SECRETKEY=<secretkey> \ --from-literal=REGION=<region> \ --from-literal=FQDN=<fqdn> \ --from-literal=BUCKET=<bucket> \ --from-literal=USE_INSTANCE_PROFILE=<use_instance_profile> \ --from-literal=CREATE_BUCKET=<create_bucket> \ --from-literal=STORAGE_TYPE=s3 \ --from-literal=PORT=<port>kubectl create secret -n <namespace> generic export-externalobjects-secret \ --from-literal=ACCESSKEY=<accesskey> \ --from-literal=SECRETKEY=<secretkey> \ --from-literal=REGION=<region> \ --from-literal=FQDN=<fqdn> \ --from-literal=BUCKET=<bucket> \ --from-literal=USE_INSTANCE_PROFILE=<use_instance_profile> \ --from-literal=CREATE_BUCKET=<create_bucket> \ --from-literal=STORAGE_TYPE=s3 \ --from-literal=PORT=<port> -
Wenn Sie den AWS S3-Speicher verwenden, führen Sie den folgenden Befehl aus:
kubectl create secret -n <namespace> generic export-externalobjects-secret \ --from-literal=ACCOUNTKEY=<accountkey> \ --from-literal=ACCOUNTNAME=<accountname> \ --from-literal=CLIENT_ID=<client_id> \ --from-literal=AZURE_FQDN_SUFFIX=<fqdn> \ --from-literal=BUCKET=<bucket> \ --from-literal=USE_MANAGED_IDENTITY=<use_managed_profile> \ --from-literal=CREATE_CONTAINER=<create_container> \ --from-literal=STORAGE_TYPE=azure \ --from-literal=USE_WORKLOAD_IDENTITY=<use_workload_identity>kubectl create secret -n <namespace> generic export-externalobjects-secret \ --from-literal=ACCOUNTKEY=<accountkey> \ --from-literal=ACCOUNTNAME=<accountname> \ --from-literal=CLIENT_ID=<client_id> \ --from-literal=AZURE_FQDN_SUFFIX=<fqdn> \ --from-literal=BUCKET=<bucket> \ --from-literal=USE_MANAGED_IDENTITY=<use_managed_profile> \ --from-literal=CREATE_CONTAINER=<create_container> \ --from-literal=STORAGE_TYPE=azure \ --from-literal=USE_WORKLOAD_IDENTITY=<use_workload_identity>
-
-
Erstellen Sie den PVC
insights-looker-lookerdir-pvc:apiVersion: v1 kind: PersistentVolumeClaim metadata: labels: app.kubernetes.io/component: insightslooker app.kubernetes.io/instance: insights app.kubernetes.io/part-by: cloud-rpa argocd.argoproj.io/instance: insights name: insights-looker-lookerdir-pvc namespace: <namespace> spec: accessModes: - ReadWriteOnce resources: requests: storage: 500Mi storageClassName: <storage-class-name>apiVersion: v1 kind: PersistentVolumeClaim metadata: labels: app.kubernetes.io/component: insightslooker app.kubernetes.io/instance: insights app.kubernetes.io/part-by: cloud-rpa argocd.argoproj.io/instance: insights name: insights-looker-lookerdir-pvc namespace: <namespace> spec: accessModes: - ReadWriteOnce resources: requests: storage: 500Mi storageClassName: <storage-class-name> -
Erstellen Sie den RBAC:
--- apiVersion: v1 kind: ServiceAccount metadata: name: migration-sa namespace: <uipath> --- apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: migration-role namespace: <namespace> rules: - apiGroups: [""] resources: ["configmaps", "secrets"] verbs: ["get", "list", "watch", "create", "patch"] --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: migration-rolebinding namespace: <namespace> roleRef: apiGroup: rbac.authorization.k8s.io kind: Role name: migration-role subjects: - kind: ServiceAccount name: migration-sa namespace: <namespace>--- apiVersion: v1 kind: ServiceAccount metadata: name: migration-sa namespace: <uipath> --- apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: migration-role namespace: <namespace> rules: - apiGroups: [""] resources: ["configmaps", "secrets"] verbs: ["get", "list", "watch", "create", "patch"] --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: migration-rolebinding namespace: <namespace> roleRef: apiGroup: rbac.authorization.k8s.io kind: Role name: migration-role subjects: - kind: ServiceAccount name: migration-sa namespace: <namespace> -
Erstellen Sie den Pod für die Migration von
insights-looker-lookerdir-pvc:apiVersion: v1 kind: Pod metadata: name: inbound-migrator namespace: <namespace> spec: containers: - command: - /uipathcore - data - migrate - --source-secret - export-externalobjects-secret - --source-path - insights/mnt/lookerfiles - --destination-path - /mnt/lookerfiles - --namespace - <namespace> - --log-level - debug image: sfbrdevhelmweacr.azurecr.io/uipath/uipathcore:2.2510.0 imagePullPolicy: IfNotPresent name: pvc-migrator securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL - MKNOD runAsNonRoot: true volumeMounts: - mountPath: /mnt/lookerfiles name: insights-looker-lookerdir serviceAccountName: migration-sa imagePullSecrets: - name: uipathpullsecret securityContext: runAsNonRoot: true volumes: - name: insights-looker-lookerdir persistentVolumeClaim: claimName: insights-looker-lookerdir-pvcapiVersion: v1 kind: Pod metadata: name: inbound-migrator namespace: <namespace> spec: containers: - command: - /uipathcore - data - migrate - --source-secret - export-externalobjects-secret - --source-path - insights/mnt/lookerfiles - --destination-path - /mnt/lookerfiles - --namespace - <namespace> - --log-level - debug image: sfbrdevhelmweacr.azurecr.io/uipath/uipathcore:2.2510.0 imagePullPolicy: IfNotPresent name: pvc-migrator securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL - MKNOD runAsNonRoot: true volumeMounts: - mountPath: /mnt/lookerfiles name: insights-looker-lookerdir serviceAccountName: migration-sa imagePullSecrets: - name: uipathpullsecret securityContext: runAsNonRoot: true volumes: - name: insights-looker-lookerdir persistentVolumeClaim: claimName: insights-looker-lookerdir-pvc -
Erstellen Sie den PVC
insights-looker-datadir-pvc:apiVersion: v1 kind: PersistentVolumeClaim metadata: labels: app.kubernetes.io/component: insightslooker app.kubernetes.io/instance: insights app.kubernetes.io/part-by: cloud-rpa argocd.argoproj.io/instance: insights name: insights-looker-datadir-pvc namespace: <namespace> spec: accessModes: - ReadWriteOnce resources: requests: storage: 10Gi storageClassName: <storage-class-name>apiVersion: v1 kind: PersistentVolumeClaim metadata: labels: app.kubernetes.io/component: insightslooker app.kubernetes.io/instance: insights app.kubernetes.io/part-by: cloud-rpa argocd.argoproj.io/instance: insights name: insights-looker-datadir-pvc namespace: <namespace> spec: accessModes: - ReadWriteOnce resources: requests: storage: 10Gi storageClassName: <storage-class-name> -
Erstellen Sie den Pod für die Migration von
insights-looker-datadir-pvc:apiVersion: v1 kind: Pod metadata: name: inbound-migrator-data namespace: <namespace> spec: containers: - command: - /uipathcore - data - migrate - --source-secret - export-externalobjects-secret - --source-path - insights/app/workdir - --destination-path - /mnt/lookerfiles - --namespace - <namespace> - --log-level - debug image: sfbrdevhelmweacr.azurecr.io/uipath/uipathcore:2.2510.0 imagePullPolicy: IfNotPresent name: pvc-migrator securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL - MKNOD runAsNonRoot: true volumeMounts: - mountPath: /mnt/lookerfiles name: insights-looker-datadir serviceAccountName: migration-sa imagePullSecrets: - name: uipathpullsecret securityContext: runAsUser: 1000700000 runAsNonRoot: true volumes: - name: insights-looker-datadir persistentVolumeClaim: claimName: insights-looker-datadir-pvcapiVersion: v1 kind: Pod metadata: name: inbound-migrator-data namespace: <namespace> spec: containers: - command: - /uipathcore - data - migrate - --source-secret - export-externalobjects-secret - --source-path - insights/app/workdir - --destination-path - /mnt/lookerfiles - --namespace - <namespace> - --log-level - debug image: sfbrdevhelmweacr.azurecr.io/uipath/uipathcore:2.2510.0 imagePullPolicy: IfNotPresent name: pvc-migrator securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL - MKNOD runAsNonRoot: true volumeMounts: - mountPath: /mnt/lookerfiles name: insights-looker-datadir serviceAccountName: migration-sa imagePullSecrets: - name: uipathpullsecret securityContext: runAsUser: 1000700000 runAsNonRoot: true volumes: - name: insights-looker-datadir persistentVolumeClaim: claimName: insights-looker-datadir-pvc -
Löschen Sie das Dienstkonto, die Rolle und die Rollenbindung, die zuvor in Schritt 3 erstellt wurden:
kubectl -n <namespace> delete sa migration-sa kubectl -n <namespace> delete role migration-role kubectl -n <namespace> delete rolebinding migration-rolebindingkubectl -n <namespace> delete sa migration-sa kubectl -n <namespace> delete role migration-role kubectl -n <namespace> delete rolebinding migration-rolebinding