automation-suite
2024.10
true
Wichtig :
Bitte beachten Sie, dass dieser Inhalt teilweise mithilfe von maschineller Übersetzung lokalisiert wurde. Es kann 1–2 Wochen dauern, bis die Lokalisierung neu veröffentlichter Inhalte verfügbar ist.
UiPath logo, featuring letters U and I in white

Automation Suite in OpenShift – Installationsanleitung

Letzte Aktualisierung 12. Juni 2025

Erfüllung der Process Mining-Voraussetzungen

Wichtig: Dapr und cert-manager sind ab Automation Suite 2024.10.3 keine Anforderungen mehr.

Installieren des Zertifikatsmanagers

Die Dapr-Installation für Process Mining erfordert einen Zertifikatsmanager.

Um den 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-controlleroc 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-controlleroc 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

Hinweis: Sie sollten diese Ressource nicht entfernen, wenn Task Mining aktiviert ist. Task Mining ist vom Zertifikatsmanager 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

  1. 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>
  2. 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>
  3. 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
  4. Deinstallieren Sie den Zertifikatsmanager über den Operator Hub in der OpenShift-Konsole.

  5. Ü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

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 anderen Anwendungen verwendet werden.

  • Bei Ressourcen, die im Status „Wird beendet “ feststecken, müssen Sie möglicherweise die finalisierenden Elemente 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:
  1. 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:
    1. 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: ['*']
    2. 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>
  2. 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
  3. Erstellen Sie eine Rolle, damit ArgoCD die Dapr-Komponenten verwalten kann. Führen Sie die folgenden Schritte aus, um die Rolle zu erstellen:
    1. 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"]
    2. 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>
  4. Erstellen Sie eine Rollenbindung zwischen der Rolle dapr-creator und 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
  5. 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 -
  6. 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:
    ParameterPlatzhalterBeschreibung
    namespace

    <argo_namespace>

    • Verwenden Sie <argocd> für eine dedizierte ArgoCD-Instanz.
    • Verwenden Sie <openshift-gitops> für eine gemeinsam genutzte ArgoCD-Instanz.

    namespace

    watchNamespace

    <uipath_namespace>

    Namespace für die Automation Suite

    project

    <project_name>

    • Für eine dedizierte ArgoCD-Instanz verwenden Sie default .
      .
    • Verwenden Sie für eine freigegebene ArgoCD-Instanz den Namen des Projekts, das für die Automation Suite erstellt wurde.

    registry

    repoURL

    <target-registry>

    Helm-Chart-Registrierung

    targetRevision

    <dapr-version>

    Version des Dapr Helm-Diagramms aus der Datei versions.json
    Hinweis:

    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:

    1. Navigieren Sie in der ArgoCD-Benutzeroberfläche zu Dapr > Löschen.

    2. 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/bash

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/bash

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

Hinweis: 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 argocd oder openshift-gitops).
  • Ob es sich um eine gemeinsam genutzte ArgoCD-Instanz oder eine dedizierte Instanz handelt.

Schritt-für-Schritt-Deinstallationsprozess

  1. 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.

  2. 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>
  3. 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
  4. 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
  5. 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>
  6. 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>
  7. 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>

Überprüfung

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.

War diese Seite hilfreich?

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