- Überblick
- Anforderungen
- Vor der Installation
- Vorbereiten der Installation
- Installieren und Konfigurieren des Dienstgeflechts
- Herunterladen der Installationspakete
- Konfigurieren der OCI-konformen Registrierung
- Erteilen von Installationsberechtigungen
- Installieren und Konfigurieren des GitOps-Tools
- Bereitstellen von Redis über OperatorHub
- Erfüllung der Process Mining-Voraussetzungen
- Anwenden verschiedener Konfigurationen
- Ausführen von uipathctl
- Installation
- Nach der Installation
- Migration und Upgrade
- Aktualisieren der Automation Suite
- Migrieren von eigenständigen Produkten zur Automation Suite
- Schritt 1: Wiederherstellen der eigenständigen Produktdatenbank
- Schritt 2: Aktualisieren des Schemas der wiederhergestellten Produktdatenbank
- Schritt 3: Verschieben der Identitätsorganisationsdaten von der eigenständigen Bereitstellung in die Automation Suite
- Schritt 4: Sichern der Plattformdatenbank in der Automation Suite
- Schritt 5: Zusammenführen von Organisationen in der Automation Suite
- Schritt 6: Aktualisieren der migrierten Produktverbindungszeichenfolgen
- Schritt 7: Migrieren des eigenständigen Orchestrator
- Schritt 8: Migrieren von eigenständigen Insights
- Schritt 9: Migrieren des eigenständigen Test Managers
- Schritt 10: Löschen des Standardmandanten
- Durchführen der Migration eines einzelnen Mandanten
- Migrieren zwischen Automation Suite-Clustern
- Ü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
- Fehlersuche und ‑behebung
- Sammeln von DU-Nutzungsdaten mit dem clusterinternen Objektspeicher (Ceph)
- So beheben Sie einen Fehler bei der Überprüfung der Prereq-Konnektivität unter OpenShift 4.16-4.18
- Deinstallieren der Automation Suite
- So stellen Sie Insights in einem FIPS-fähigen Cluster bereit
- So deaktivieren Sie die automatische CDI-Aktivierung im Nvidia GPU-Operator
Automation Suite in OpenShift – Installationsanleitung
Dapr und cert-manager sind ab Automation Suite 2024.10.3 keine Anforderungen mehr für Process Mining.
Installieren des Zertifikatsmanagers
Die Dapr-Installation für Process Mining erfordert einen Zertifikatsmanager.
Um Cert Manager über OpenShift-Operatoren zu installieren, befolgen Sie die Anweisungen unter Installieren des cert-manager-Operators für Red Hat OpenShift.
Um sicherzustellen, dass ArgoCD ein Zertifikat mit dem cert-manager erstellen kann, müssen Sie ArgoCD die erforderlichen Berechtigungen für den cert-manager zur Verfügung stellen.
Das folgende Beispiel zeigt eine gültige Konfiguration für die ArgoCD-Zertifikatsmanagerrolle:
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: argocd-cert-manager-role
namespace: <uipath>
rules:
- apiGroups: ["cert-manager.io"]
resources: ["certificates", "issuers"]
verbs: ["get", "create"]
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: argocd-cert-manager-role
namespace: <uipath>
rules:
- apiGroups: ["cert-manager.io"]
resources: ["certificates", "issuers"]
verbs: ["get", "create"]
Um die Rollenbindung für eine dedizierte ArgoCD-Instanz zu erstellen, führen Sie den folgenden Befehl aus:
oc project <uipath>
oc create rolebinding argocd-cert-manager-binding --role=argocd-cert-manager-role \
--serviceaccount=<argocd>:argocd-argocd-application-controller
oc project <uipath>
oc create rolebinding argocd-cert-manager-binding --role=argocd-cert-manager-role \
--serviceaccount=<argocd>:argocd-argocd-application-controller
Um die Rollenbindung für eine freigegebene ArgoCD-Instanz zu erstellen, führen Sie den folgenden Befehl aus:
oc project <uipath>
oc create rolebinding gitops-cert-manager-binding --role=argocd-cert-manager-role \
--serviceaccount=<openshift-gitops>:openshift-gitops-argocd-application-controller
oc project <uipath>
oc create rolebinding gitops-cert-manager-binding --role=argocd-cert-manager-role \
--serviceaccount=<openshift-gitops>:openshift-gitops-argocd-application-controller
Deinstallieren des Cert Managers
Sie sollten diese Ressource nicht entfernen, wenn Task Mining aktiviert ist. Task Mining ist vom Cert Manager abhängig.
Voraussetzungen
- OpenShift-CLI (
oc) installiert und konfiguriert. - Entsprechende Berechtigungen zum Löschen von Ressourcen in den Ziel-Namespaces.
Information erforderlich
Bevor Sie fortfahren, müssen Sie die folgenden Informationen sammeln:
- UiPath-Namespace, in dem Zertifikatsmanager-Ressourcen verwendet werden.
- Ob es sich um eine gemeinsam genutzte ArgoCD-Instanz oder eine dedizierte Instanz handelt.
Schritt-für-Schritt-Deinstallationsprozess
- Löschen Sie die Rollenbindungen für den cert-manager:
- Für die dedizierte ArgoCD-Instanz:
# Verify if the role binding exists oc get rolebinding argocd-cert-manager-binding -n <uipath_namespace> # If it exists, delete it oc delete rolebinding argocd-cert-manager-binding -n <uipath_namespace># Verify if the role binding exists oc get rolebinding argocd-cert-manager-binding -n <uipath_namespace> # If it exists, delete it oc delete rolebinding argocd-cert-manager-binding -n <uipath_namespace> - Für die freigegebene ArgoCD-Instanz:
# Verify if the role binding exists oc get rolebinding gitops-cert-manager-binding -n <uipath_namespace> # If it exists, delete it oc delete rolebinding gitops-cert-manager-binding -n <uipath_namespace># Verify if the role binding exists oc get rolebinding gitops-cert-manager-binding -n <uipath_namespace> # If it exists, delete it oc delete rolebinding gitops-cert-manager-binding -n <uipath_namespace>
- Für die dedizierte ArgoCD-Instanz:
- Löschen Sie die Zertifikatsmanagerrolle:
# Check if the role exists oc get role argocd-cert-manager-role -n <uipath_namespace> # If it exists, delete it oc delete role argocd-cert-manager-role -n <uipath_namespace># Check if the role exists oc get role argocd-cert-manager-role -n <uipath_namespace> # If it exists, delete it oc delete role argocd-cert-manager-role -n <uipath_namespace> - Bereinigen Sie die Zertifikatsmanager-Ressourcen im Namespace:
# Delete all certificates oc delete certificates.cert-manager.io --all -n <uipath_namespace> # Delete all issuers oc delete issuers.cert-manager.io --all -n <uipath_namespace> # Delete all clusterissuers if you created any oc delete clusterissuers.cert-manager.io --all# Delete all certificates oc delete certificates.cert-manager.io --all -n <uipath_namespace> # Delete all issuers oc delete issuers.cert-manager.io --all -n <uipath_namespace> # Delete all clusterissuers if you created any oc delete clusterissuers.cert-manager.io --all - Deinstallieren Sie den Zertifikatsmanager über den Operator Hub in der OpenShift-Konsole.
- Überprüfen der verbleibenden Ressourcen:
# Check for any remaining cert-manager resources oc get all -n <uipath_namespace> | grep cert-manager oc get crd | grep cert-manager# Check for any remaining cert-manager resources oc get all -n <uipath_namespace> | grep cert-manager oc get crd | grep cert-manager
Fehlerbehebung
Wenn bestimmte Ressourcen nicht gelöscht werden können:
- Stellen Sie sicher, dass Sie über die erforderlichen Berechtigungen verfügen.
- Überprüfen Sie, ob die Ressourcen von anderen Anwendungen verwendet werden.
- Bei Ressourcen, die sich im Status „Wird beendet “ befinden, müssen Sie möglicherweise Abschnitte entfernen.
Hinweise
- Bei dieser Deinstallation wird davon ausgegangen, dass cert-manager über den OpenShift Operator Hub installiert wurde.
- Deinstallieren Sie den cert-manager nur, wenn er nicht von anderen Anwendungen in Ihrem Cluster verwendet wird.
- Wenn mehrere Anwendungen vom Zertifikatsmanager abhängen, sollten Sie erwägen, nur die UiPath-spezifischen Ressourcen zu entfernen.
- Ersetzen Sie
<uipath_namespace>durch Ihren tatsächlichen UiPath-Namespace.
Installieren von Dapr
Führen Sie die folgenden Schritte aus, um Dapr zu installieren:
- Erstellen Sie eine Rolle auf Clusterebene, damit ArgoCD benutzerdefinierte Ressourcendefinitionen und veränderte Webhooks verwalten kann. Führen Sie die folgenden Schritte aus, um die Rolle zu erstellen:
- Speichern Sie die folgende Rollenkonfiguration als YAML-Datei:
apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: annotations: name: manage-crds rules: - apiGroups: ["apiextensions.k8s.io"] resources: ["customresourcedefinitions"] verbs: ['*'] - apiGroups: ["admissionregistration.k8s.io"] resources: ["mutatingwebhookconfigurations"] verbs: ['*']apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: annotations: name: manage-crds rules: - apiGroups: ["apiextensions.k8s.io"] resources: ["customresourcedefinitions"] verbs: ['*'] - apiGroups: ["admissionregistration.k8s.io"] resources: ["mutatingwebhookconfigurations"] verbs: ['*'] - Wenden Sie die Konfiguration an, indem Sie den folgenden Befehl ausführen. Ersetzen Sie den Platzhalter
<file_name.yaml>durch den tatsächlichen Namen der YAML-Datei:oc apply -f <file_name.yaml>oc apply -f <file_name.yaml>
- Speichern Sie die folgende Rollenkonfiguration als YAML-Datei:
- Erstellen Sie eine Rollenbindung auf Clusterebene, um die
manage-crds-Rolle an das ArgoCD-Dienstkonto zu binden.- Um die Rollenbindung für eine dedizierte ArgoCD-Instanz zu erstellen, verwenden Sie den folgenden Befehl:
oc create clusterrolebinding manage-crds-binding --clusterrole=manage-crds --serviceaccount=<argocd>:argocd-argocd-application-controlleroc create clusterrolebinding manage-crds-binding --clusterrole=manage-crds --serviceaccount=<argocd>:argocd-argocd-application-controller - Um die Rollenbindung für eine freigegebene ArgoCD-Instanz zu erstellen, verwenden Sie den folgenden Befehl:
oc create clusterrolebinding manage-crds-binding --clusterrole=manage-crds --serviceaccount=<openshift-gitops>:openshift-gitops-argocd-application-controlleroc create clusterrolebinding manage-crds-binding --clusterrole=manage-crds --serviceaccount=<openshift-gitops>:openshift-gitops-argocd-application-controller
- Um die Rollenbindung für eine dedizierte ArgoCD-Instanz zu erstellen, verwenden Sie den folgenden Befehl:
- Erstellen Sie eine Rolle, damit ArgoCD die Dapr-Komponenten verwalten kann. Führen Sie die folgenden Schritte aus, um die Rolle zu erstellen:
- Speichern Sie die folgende Rollenkonfiguration als YAML-Datei:
apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: dapr-creator namespace: <uipath> rules: - apiGroups: ["dapr.io"] resources: ["components", "configurations", "resiliencies"] verbs: ["create", "delete", "get", "list", "patch", "update", "watch"]apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: dapr-creator namespace: <uipath> rules: - apiGroups: ["dapr.io"] resources: ["components", "configurations", "resiliencies"] verbs: ["create", "delete", "get", "list", "patch", "update", "watch"] - Wenden Sie die Konfiguration an, indem Sie den folgenden Befehl ausführen. Ersetzen Sie den Platzhalter
<file_name.yaml>durch den tatsächlichen Namen der YAML-Datei:oc apply -f <file_name.yaml>oc apply -f <file_name.yaml>
- Speichern Sie die folgende Rollenkonfiguration als YAML-Datei:
- Erstellen Sie eine Rollenbindung zwischen der Rolle
dapr-creatorund dem ArgoCD-Dienstkonto.- Um die Rollenbindung für eine dedizierte ArgoCD-Instanz zu erstellen, verwenden Sie den folgenden Befehl:
oc project <uipath> oc create rolebinding dapr-creator-binding --role=dapr-creator --serviceaccount=<argocd>:argocd-argocd-application-controlleroc project <uipath> oc create rolebinding dapr-creator-binding --role=dapr-creator --serviceaccount=<argocd>:argocd-argocd-application-controller - Um die Rollenbindung für eine freigegebene ArgoCD-Instanz zu erstellen, verwenden Sie den folgenden Befehl:
oc project <uipath> oc create rolebinding gitops-dapr-creator-binding --role=dapr-creator --serviceaccount=<openshift-gitops>:openshift-gitops-argocd-application-controlleroc project <uipath> oc create rolebinding gitops-dapr-creator-binding --role=dapr-creator --serviceaccount=<openshift-gitops>:openshift-gitops-argocd-application-controller
- Um die Rollenbindung für eine dedizierte ArgoCD-Instanz zu erstellen, verwenden Sie den folgenden Befehl:
- Erstellen Sie ein Image-Pull-Geheimnis im Namespace
<uipath>. Um das Image-Pull-Geheimnis zu erstellen, können Sie Ihren typischen Workflow verwenden oder die folgenden Schritte ausführen:registry= <registry_url> #provide the registry where the UiPath images are hosted username= <user_name> #provide the username which will be used for the authentication password= <password> #provide the password which will be used for the authentication namespace= <namespace> #namespace where you want to create a secret oc create secret docker-registry uipathpullsecret --namespace=${namespace} \ --docker-server=${registry} --docker-username=${username} \ --docker-password=${password} --dry-run=client -o yaml \ | oc apply -f -registry= <registry_url> #provide the registry where the UiPath images are hosted username= <user_name> #provide the username which will be used for the authentication password= <password> #provide the password which will be used for the authentication namespace= <namespace> #namespace where you want to create a secret oc create secret docker-registry uipathpullsecret --namespace=${namespace} \ --docker-server=${registry} --docker-username=${username} \ --docker-password=${password} --dry-run=client -o yaml \ | oc apply -f - - Erstellen Sie die Argo-Anwendung mit der folgenden YAML-Datei:
apiVersion: argoproj.io/v1alpha1 kind: Application metadata: name: dapr namespace: <argo_namespace> spec: destination: namespace: <uipath_namespace> server: https://kubernetes.default.svc ignoreDifferences: - jsonPointers: - /data - /stringData - /metadata kind: Secret - group: apiextensions.k8s.io jsonPointers: - /spec/conversion kind: CustomResourceDefinition - group: admissionregistration.k8s.io jsonPointers: - /webhooks kind: MutatingWebhookConfiguration project: <project_name> source: chart: helm/dapr helm: valueFiles: - values.yaml values: | global: registry: <target-registry>/daprio imagePullSecrets: uipathpullsecret mtls: enabled: true prometheus: enabled: false logAsJson: true actors: enabled: false ha: enabled: false replicaCount: 1 rbac: namespaced: true seccompProfile: RuntimeDefault dapr_dashboard: enabled: false dapr_operator: watchInterval: 1m resources: requests: cpu: 100m memory: 100Mi limits: cpu: "1" memory: 200Mi watchNamespace: <uipath_namespace> deploymentAnnotations: sidecar.istio.io/inject: "false" dapr_sidecar_injector: allowedServiceAccounts: <uipath_namespace>:default resources: requests: cpu: 100m memory: 30Mi limits: cpu: "1" memory: 100Mi sidecarDropALLCapabilities: true deploymentAnnotations: sidecar.istio.io/inject: "false" dapr_sentry: resources: requests: cpu: 100m memory: 30Mi limits: cpu: "1" memory: 100Mi deploymentAnnotations: sidecar.istio.io/inject: "false" dapr_rbac: secretReader: enabled: false createClusterScopedObjects: true repoURL: <target-registry> targetRevision: <dapr-version> syncPolicy: automated: prune: true selfHeal: true retry: backoff: duration: 10s factor: 2 maxDuration: 1m limit: 1000 syncOptions: - CreateNamespace=true - RespectIgnoreDifferences=trueapiVersion: argoproj.io/v1alpha1 kind: Application metadata: name: dapr namespace: <argo_namespace> spec: destination: namespace: <uipath_namespace> server: https://kubernetes.default.svc ignoreDifferences: - jsonPointers: - /data - /stringData - /metadata kind: Secret - group: apiextensions.k8s.io jsonPointers: - /spec/conversion kind: CustomResourceDefinition - group: admissionregistration.k8s.io jsonPointers: - /webhooks kind: MutatingWebhookConfiguration project: <project_name> source: chart: helm/dapr helm: valueFiles: - values.yaml values: | global: registry: <target-registry>/daprio imagePullSecrets: uipathpullsecret mtls: enabled: true prometheus: enabled: false logAsJson: true actors: enabled: false ha: enabled: false replicaCount: 1 rbac: namespaced: true seccompProfile: RuntimeDefault dapr_dashboard: enabled: false dapr_operator: watchInterval: 1m resources: requests: cpu: 100m memory: 100Mi limits: cpu: "1" memory: 200Mi watchNamespace: <uipath_namespace> deploymentAnnotations: sidecar.istio.io/inject: "false" dapr_sidecar_injector: allowedServiceAccounts: <uipath_namespace>:default resources: requests: cpu: 100m memory: 30Mi limits: cpu: "1" memory: 100Mi sidecarDropALLCapabilities: true deploymentAnnotations: sidecar.istio.io/inject: "false" dapr_sentry: resources: requests: cpu: 100m memory: 30Mi limits: cpu: "1" memory: 100Mi deploymentAnnotations: sidecar.istio.io/inject: "false" dapr_rbac: secretReader: enabled: false createClusterScopedObjects: true repoURL: <target-registry> targetRevision: <dapr-version> syncPolicy: automated: prune: true selfHeal: true retry: backoff: duration: 10s factor: 2 maxDuration: 1m limit: 1000 syncOptions: - CreateNamespace=true - RespectIgnoreDifferences=true
In der folgenden Tabelle finden Sie weitere Informationen zum Ersetzen der Platzhalter in der YAML-Datei durch entsprechende Werte für die jeweiligen Parameter:
| Parameter | Platzhalter | Beschreibung |
|---|---|---|
namespace |
|
|
|
|
| Namespace für die Automation Suite |
project |
|
|
|
|
| Helm-Chart-Registrierung |
targetRevision |
| Version des Dapr Helm-Diagramms aus der Datei versions.json |
Wenn Sie den FQDN nach der Installation ändern, müssen Sie die Dapr-Anwendung löschen und neu erstellen, indem Sie die folgenden Schritte ausführen:
- Navigieren Sie in ArgoCD zu Dapr > Löschen.
- Installieren Sie Dapr erneut, indem Sie alle Schritte in diesem Abschnitt ausführen.
Generieren der YAML-Datei der Anwendung per Bash-Skript
Sie können auch das folgende Bash-Skript verwenden, um die YAML-Anwendungsdatei zu generieren:
#!/bin/bas
echo "Enter the namespace of argocd applications"
read argocd_namespace
echo "Enter the name of uipath namespace"
read uipath_namespace
if [[ "${argocd_namespace}" == "openshift-gitops" ]]; then
echo "Enter the argocd project name"
read project
else
project="default"
fi
echo "Enter the registry fqdn"
read registry_fqdn
echo "Enter the DAPR helm chart version"
read dapr_version
echo "-------------------- SUMMARY --------------------"
echo "Argocd Application namespace : $argocd_namespace"
echo "Uipath namespace : $uipath_namespace"
echo "Argocd Project name : $project"
echo "Helm registry FQDN : $registry_fqdn"
echo "DAPR Version : $dapr_version"
echo "------------- Application yaml file-------------"
echo -n "apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: dapr
namespace: $argocd_namespace
spec:
destination:
namespace: $uipath_namespace
server: https://kubernetes.default.svc
ignoreDifferences:
- jsonPointers:
- /data
- /stringData
- /metadata
kind: Secret
- group: apiextensions.k8s.io
jsonPointers:
- /spec/conversion
kind: CustomResourceDefinition
- group: admissionregistration.k8s.io
jsonPointers:
- /webhooks
kind: MutatingWebhookConfiguration
project: $project
source:
chart: helm/dapr
helm:
valueFiles:
- values.yaml
values: |
global:
registry: $registry_fqdn/daprio
imagePullSecrets: uipathpullsecret
mtls:
enabled: true
prometheus:
enabled: false
logAsJson: true
actors:
enabled: false
ha:
enabled: false
replicaCount: 1
rbac:
namespaced: true
seccompProfile: RuntimeDefault
dapr_dashboard:
enabled: false
dapr_operator:
watchInterval: 1m
resources:
requests:
cpu: 100m
memory: 100Mi
limits:
cpu: "1"
memory: 200Mi
watchNamespace: $uipath_namespace
deploymentAnnotations:
sidecar.istio.io/inject: "false"
dapr_sidecar_injector:
allowedServiceAccounts: $uipath_namespace:default
resources:
requests:
cpu: 100m
memory: 30Mi
limits:
cpu: "1"
memory: 100Mi
sidecarDropALLCapabilities: true
deploymentAnnotations:
sidecar.istio.io/inject: "false"
dapr_sentry:
resources:
requests:
cpu: 100m
memory: 30Mi
limits:
cpu: "1"
memory: 100Mi
deploymentAnnotations:
sidecar.istio.io/inject: "false"
dapr_rbac:
secretReader:
enabled: false
createClusterScopedObjects: true
repoURL: $registry_fqdn
targetRevision: $dapr_version
syncPolicy:
automated:
prune: true
selfHeal: true
retry:
backoff:
duration: 10s
factor: 2
maxDuration: 1m
limit: 1000
syncOptions:
- CreateNamespace=true
- RespectIgnoreDifferences=true"
#!/bin/bas
echo "Enter the namespace of argocd applications"
read argocd_namespace
echo "Enter the name of uipath namespace"
read uipath_namespace
if [[ "${argocd_namespace}" == "openshift-gitops" ]]; then
echo "Enter the argocd project name"
read project
else
project="default"
fi
echo "Enter the registry fqdn"
read registry_fqdn
echo "Enter the DAPR helm chart version"
read dapr_version
echo "-------------------- SUMMARY --------------------"
echo "Argocd Application namespace : $argocd_namespace"
echo "Uipath namespace : $uipath_namespace"
echo "Argocd Project name : $project"
echo "Helm registry FQDN : $registry_fqdn"
echo "DAPR Version : $dapr_version"
echo "------------- Application yaml file-------------"
echo -n "apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: dapr
namespace: $argocd_namespace
spec:
destination:
namespace: $uipath_namespace
server: https://kubernetes.default.svc
ignoreDifferences:
- jsonPointers:
- /data
- /stringData
- /metadata
kind: Secret
- group: apiextensions.k8s.io
jsonPointers:
- /spec/conversion
kind: CustomResourceDefinition
- group: admissionregistration.k8s.io
jsonPointers:
- /webhooks
kind: MutatingWebhookConfiguration
project: $project
source:
chart: helm/dapr
helm:
valueFiles:
- values.yaml
values: |
global:
registry: $registry_fqdn/daprio
imagePullSecrets: uipathpullsecret
mtls:
enabled: true
prometheus:
enabled: false
logAsJson: true
actors:
enabled: false
ha:
enabled: false
replicaCount: 1
rbac:
namespaced: true
seccompProfile: RuntimeDefault
dapr_dashboard:
enabled: false
dapr_operator:
watchInterval: 1m
resources:
requests:
cpu: 100m
memory: 100Mi
limits:
cpu: "1"
memory: 200Mi
watchNamespace: $uipath_namespace
deploymentAnnotations:
sidecar.istio.io/inject: "false"
dapr_sidecar_injector:
allowedServiceAccounts: $uipath_namespace:default
resources:
requests:
cpu: 100m
memory: 30Mi
limits:
cpu: "1"
memory: 100Mi
sidecarDropALLCapabilities: true
deploymentAnnotations:
sidecar.istio.io/inject: "false"
dapr_sentry:
resources:
requests:
cpu: 100m
memory: 30Mi
limits:
cpu: "1"
memory: 100Mi
deploymentAnnotations:
sidecar.istio.io/inject: "false"
dapr_rbac:
secretReader:
enabled: false
createClusterScopedObjects: true
repoURL: $registry_fqdn
targetRevision: $dapr_version
syncPolicy:
automated:
prune: true
selfHeal: true
retry:
backoff:
duration: 10s
factor: 2
maxDuration: 1m
limit: 1000
syncOptions:
- CreateNamespace=true
- RespectIgnoreDifferences=true"
Dapr wird deinstalliert
Sie sollten diese Ressource nicht entfernen, wenn Task Mining aktiviert ist. Task Mining ist von Dapr abhängig.
Voraussetzungen
- OpenShift-CLI (
oc) installiert und konfiguriert. - Entsprechende Berechtigungen zum Löschen von Ressourcen in den Ziel-Namespaces.
Information erforderlich
Bevor Sie fortfahren, müssen Sie die folgenden Informationen sammeln:
- UiPath-Namespace, in dem Dapr installiert ist.
- ArgoCD-Namespace (normalerweise
argocdoderopenshift-gitops). - Ob es sich um eine gemeinsam genutzte ArgoCD-Instanz oder eine dedizierte Instanz handelt.
Schritt-für-Schritt-Deinstallationsprozess
-
Löschen Sie die Dapr-Anwendung aus ArgoCD:
# Verify the application exists first oc get application.argoproj.io dapr -n <argocd_namespace> # If it exists, delete it oc delete application.argoproj.io dapr -n <argocd_namespace># Verify the application exists first oc get application.argoproj.io dapr -n <argocd_namespace> # If it exists, delete it oc delete application.argoproj.io dapr -n <argocd_namespace>Warten Sie, bis die Ressourcen gelöscht wurden.
-
Benutzerdefinierte Dapr-Ressourcen löschen:
# Delete all Dapr components in the UiPath namespace oc delete components.dapr.io --all -n <uipath_namespace> # Delete all Dapr configurations in the UiPath namespace oc delete configurations.dapr.io --all -n <uipath_namespace> # Delete all Dapr resiliencies in the UiPath namespace oc delete resiliencies.dapr.io --all -n <uipath_namespace> # Delete all Dapr subscriptions in the UiPath namespace oc delete subscriptions.dapr.io --all -n <uipath_namespace># Delete all Dapr components in the UiPath namespace oc delete components.dapr.io --all -n <uipath_namespace> # Delete all Dapr configurations in the UiPath namespace oc delete configurations.dapr.io --all -n <uipath_namespace> # Delete all Dapr resiliencies in the UiPath namespace oc delete resiliencies.dapr.io --all -n <uipath_namespace> # Delete all Dapr subscriptions in the UiPath namespace oc delete subscriptions.dapr.io --all -n <uipath_namespace> -
Benutzerdefinierte Dapr-Ressourcendefinitionen (CRDs) löschen:
# Delete Dapr CRDs oc delete crd components.dapr.io oc delete crd configurations.dapr.io oc delete crd resiliencies.dapr.io oc delete crd subscriptions.dapr.io# Delete Dapr CRDs oc delete crd components.dapr.io oc delete crd configurations.dapr.io oc delete crd resiliencies.dapr.io oc delete crd subscriptions.dapr.io -
Entfernen Sie Dapr-Webhook-Konfigurationen:
# Delete the Dapr sidecar injector webhook oc delete mutatingwebhookconfigurations dapr-sidecar-injector# Delete the Dapr sidecar injector webhook oc delete mutatingwebhookconfigurations dapr-sidecar-injector -
Entfernen Sie Dapr-spezifische Rollenbindungen
- Für die freigegebene ArgoCD-Instanz:
# Verify if the role binding exists oc get rolebinding gitops-dapr-creator-binding -n <uipath_namespace> # If it exists, delete it oc delete rolebinding gitops-dapr-creator-binding -n <uipath_namespace> # Check for cert-manager binding (may be used by other applications) oc get rolebinding gitops-cert-manager-binding -n <uipath_namespace> # If it exists and you determine it's safe to delete, run: oc delete rolebinding gitops-cert-manager-binding -n <uipath_namespace># Verify if the role binding exists oc get rolebinding gitops-dapr-creator-binding -n <uipath_namespace> # If it exists, delete it oc delete rolebinding gitops-dapr-creator-binding -n <uipath_namespace> # Check for cert-manager binding (may be used by other applications) oc get rolebinding gitops-cert-manager-binding -n <uipath_namespace> # If it exists and you determine it's safe to delete, run: oc delete rolebinding gitops-cert-manager-binding -n <uipath_namespace> - Für die dedizierte ArgoCD-Instanz:
# Verify if the role binding exists oc get rolebinding dapr-creator-binding -n <uipath_namespace> # If it exists, delete it oc delete rolebinding dapr-creator-binding -n <uipath_namespace># Verify if the role binding exists oc get rolebinding dapr-creator-binding -n <uipath_namespace> # If it exists, delete it oc delete rolebinding dapr-creator-binding -n <uipath_namespace>
- Für die freigegebene ArgoCD-Instanz:
-
Entfernen Sie Dapr-spezifische Rollen:
# Check if the dapr-creator role exists oc get role dapr-creator -n <uipath_namespace> # If it exists, delete it oc delete role dapr-creator -n <uipath_namespace># Check if the dapr-creator role exists oc get role dapr-creator -n <uipath_namespace> # If it exists, delete it oc delete role dapr-creator -n <uipath_namespace> -
Bereinigen Sie verbleibende Dapr-Ressourcen
- Pods:
# List all Dapr-related pods oc get pods -n <uipath_namespace> | grep dapr # Delete each Dapr pod oc delete pod <pod_name> -n <uipath_namespace># List all Dapr-related pods oc get pods -n <uipath_namespace> | grep dapr # Delete each Dapr pod oc delete pod <pod_name> -n <uipath_namespace> - Dienste:
# List all Dapr-related services oc get svc -n <uipath_namespace> | grep dapr # Delete each Dapr service oc delete svc <service_name> -n <uipath_namespace># List all Dapr-related services oc get svc -n <uipath_namespace> | grep dapr # Delete each Dapr service oc delete svc <service_name> -n <uipath_namespace> - Bereitstellungen:
# List all Dapr-related deployments oc get deployments -n <uipath_namespace> | grep dapr # Delete each Dapr deployment oc delete deployment <deployment_name> -n <uipath_namespace># List all Dapr-related deployments oc get deployments -n <uipath_namespace> | grep dapr # Delete each Dapr deployment oc delete deployment <deployment_name> -n <uipath_namespace>
- Pods:
Verifizierung
Stellen Sie nach Abschluss aller Deinstallationsschritte sicher, dass alle Dapr-Komponenten entfernt wurden:
# Check for any remaining Dapr resources
oc get pods -n <uipath_namespace> | grep dapr
oc get svc -n <uipath_namespace> | grep dapr
oc get deployments -n <uipath_namespace> | grep dapr
oc get crd | grep dapr
# Check for any remaining Dapr resources
oc get pods -n <uipath_namespace> | grep dapr
oc get svc -n <uipath_namespace> | grep dapr
oc get deployments -n <uipath_namespace> | grep dapr
oc get crd | grep dapr
Fehlersuche und ‑behebung
Wenn bestimmte Ressourcen nicht gelöscht werden können:
- Stellen Sie sicher, dass Sie über die erforderlichen Berechtigungen verfügen.
- Überprüfen Sie, ob die Ressourcen von einem anderen Controller verwaltet werden.
- Untersuchen Sie alle Abhängigkeiten, die das Löschen verhindern könnten.
Hinweise
- Ersetzen Sie
<uipath_namespace>durch Ihren tatsächlichen UiPath-Namespace. - Ersetzen Sie
<argocd_namespace>durch Ihren tatsächlichen ArgoCD-Namespace. - Seien Sie vorsichtig beim Löschen gemeinsam genutzter Ressourcen, die sich auf andere Anwendungen auswirken könnten.
Konfigurieren des Airflows
ArgoCD erfordert die folgende Rolle während der Airflow-Installation:
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: anyuid-role
namespace: <uipath>
rules:
- apiGroups: ["security.openshift.io"]
resources: ["securitycontextconstraints"]
resourceNames: ["anyuid"]
verbs: ["use"]
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: anyuid-role
namespace: <uipath>
rules:
- apiGroups: ["security.openshift.io"]
resources: ["securitycontextconstraints"]
resourceNames: ["anyuid"]
verbs: ["use"]
Um die Rollenbindung für eine dedizierte ArgoCD-Instanz zu erstellen, führen Sie den folgenden Befehl aus:
oc create rolebinding argocd-anyuid-binding --role=anyuid-role \
--serviceaccount=<argocd>:argocd-argocd-application-controller -n <uipath>
oc create rolebinding argocd-anyuid-binding --role=anyuid-role \
--serviceaccount=<argocd>:argocd-argocd-application-controller -n <uipath>
Für eine freigegebene ArgoCD-Instanz müssen Sie keine zusätzliche Konfiguration vornehmen.
- Installieren des Zertifikatsmanagers
- Deinstallieren des Cert Managers
- Voraussetzungen
- Information erforderlich
- Schritt-für-Schritt-Deinstallationsprozess
- Fehlersuche und ‑behebung
- Hinweise
- Installieren von Dapr
- Generieren der YAML-Datei der Anwendung per Bash-Skript
- Dapr wird deinstalliert
- Voraussetzungen
- Information erforderlich
- Schritt-für-Schritt-Deinstallationsprozess
- Überprüfung
- Fehlersuche und ‑behebung
- Hinweise
- Konfigurieren des Airflows