automation-suite
2024.10
false
Importante :
Este contenido se ha localizado parcialmente a partir de un sistema de traducción automática. La localización de contenidos recién publicados puede tardar entre una y dos semanas en estar disponible.
UiPath logo, featuring letters U and I in white

Guía de instalación de Automation Suite en OpenShift

Última actualización 13 de nov. de 2025

Cumplir los requisitos previos de Process Mining

Importante: Dapr y cert-manager ya no son requisitos para Process Mining a partir de Automation Suite 2024.10.3.

Instalación de cert-manager

La instalación de Dapr para Process Mining requiere cert-manager.

Para instalar Cert Manager a través de los operadores de OpenShift, sigue las instrucciones de Instalación del operador cert-manager para Red Hat OpenShift.

Para asegurarte de que ArgoCD puede crear un certificado utilizando cert-manager, debes proporcionar los permisos necesarios en cert-manager a ArgoCD.

El siguiente ejemplo muestra una configuración válida para el rol de gestor de certificados de ArgoCD:
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"]
Para crear el enlace de rol para una instancia de ArgoCD dedicada, ejecuta el siguiente comando:
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
Para crear el enlace de rol para una instancia compartida de ArgoCD, ejecuta el siguiente comando:
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

Desinstalar Cert Manager

Nota: No debes eliminar este recurso si Task Mining está habilitado. Task Mining depende de Cert Manager.

Requisitos previos

  • OpenShift CLI (oc) instalado y configurado.
  • Permisos adecuados para eliminar recursos en los espacios de nombres de destino.

Información requerida

Antes de continuar, debes recopilar la siguiente información:

  • Espacio de nombres de UiPath donde se utilizan los recursos de cert-manager.

  • Si se trata de una instancia compartida de ArgoCD o una dedicada.

Proceso de desinstalación paso a paso

  1. Elimina los enlaces de rol para cert-manager:

    • Para la instancia dedicada de ArgoCD:

      # 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>
    • Para instancia compartida de ArgoCD:

      # 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. Elimina el rol de gestor de certificados:

    # 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. Limpia los recursos de cert-manager en el espacio de nombres:

    # 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. Desinstala cert-manager a través del hub del operador en la consola de OpenShift.

  5. Verificar los recursos restantes:

    # 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

Solución de problemas

Si no se pueden eliminar determinados recursos:

  • Asegúrate de tener los permisos necesarios.

  • Comprueba si los recursos están siendo utilizados por otras aplicaciones.

  • Para los recursos que están atascados en el estado Terminando , es posible que debas eliminar los finalizadores.

Notas

  • Este procedimiento de desinstalación supone que cert-manager se instaló a través de OpenShift Operator Hub.

  • Desinstala cert-manager solo si no lo utilizan otras aplicaciones de tu clúster.

  • Si varias aplicaciones dependen de cert-manager, considera eliminar solo los recursos específicos de UiPath.

  • Sustituye <uipath_namespace> por tu espacio de nombres de UiPath real.

Instalar Dapr

Para instalar Dapr, sigue los siguientes pasos:
  1. Crea un rol a nivel de clúster para que ArgoCD pueda gestionar definiciones de recursos personalizadas y webhooks mutantes. Para crear el rol, sigue los siguientes pasos:
    1. Guarda la siguiente configuración de roles como un archivo YAML:
      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. Aplica la configuración ejecutando el siguiente comando. Asegúrate de reemplazar el marcador de posición <file_name.yaml> con el nombre real del archivo YAML:
      oc apply -f <file_name.yaml>oc apply -f <file_name.yaml>
  2. Crea un enlace de rol a nivel de clúster para vincular el rol manage-crds a la cuenta de servicio de ArgoCD.
    • Para crear el enlace de rol para una instancia de ArgoCD dedicada, utiliza el siguiente comando:
      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
    • Para crear el enlace de rol para una instancia compartida de ArgoCD, utiliza el siguiente comando:
      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. Crea un rol para que ArgoCD pueda gestionar los componentes de Dapr. Para crear el rol, sigue los siguientes pasos:
    1. Guarda la siguiente configuración de roles como un archivo YAML:
      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. Aplica la configuración ejecutando el siguiente comando. Asegúrate de reemplazar el marcador de posición <file_name.yaml> con el nombre real del archivo YAML:
      oc apply -f <file_name.yaml>oc apply -f <file_name.yaml>
  4. Crea un enlace de rol entre el rol dapr-creator y la cuenta de servicio de ArgoCD.
    • Para crear el enlace de rol para una instancia de ArgoCD dedicada, utiliza el siguiente comando:
      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
    • Para crear el enlace de rol para una instancia compartida de ArgoCD, utiliza el siguiente comando:
      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. Crea un secreto de extracción de imágenes en el espacio de nombres <uipath> . Para crear el secreto de extracción de imágenes, puedes utilizar tu flujo de trabajo típico o seguir los siguientes pasos:
    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. Crea la aplicación Argo utilizando el siguiente archivo YAML:
    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=true
    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=true
    
    La siguiente tabla proporciona más información sobre la sustitución de los marcadores de posición en el archivo YAML con valores adecuados para los parámetros respectivos:
    ParámetroMarcador de posiciónDescripción
    namespace

    <argo_namespace>

    • Usa <argocd> para una instancia de ArgoCD dedicada.
    • Usa <openshift-gitops> para una instancia compartida de ArgoCD.

    namespace

    watchNamespace

    <uipath_namespace>

    Espacio de nombres para Automation Suite

    project

    <project_name>

    • Para una instancia de ArgoCD dedicada, utiliza default
      .
    • Para una instancia compartida de ArgoCD, utiliza el nombre del proyecto creado para Automation Suite.

    registry

    repoURL

    <target-registry>

    Registro de diagramas de Helm

    targetRevision

    <dapr-version>

    Versión del gráfico Dapr Helm del archivo versions.json
    Nota:

    Si actualizas el FQDN después de la instalación, debes eliminar y volver a crear la aplicación Dapr siguiendo los siguientes pasos:

    1. En la interfaz de usuario de ArgoCD, ve a Dapr > Eliminar.

    2. Vuelve a instalar Dapr siguiendo todos los pasos de esta sección.

Generar el archivo YAML de la aplicación a través del script Bash

También puedes utilizar el siguiente script Bash para generar el archivo YAML de la aplicación:

#!/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"

Desinstalar Dapr

Nota: No debes eliminar este recurso si Task Mining está habilitado. Task Mining depende de Dapr.

Requisitos previos

  • OpenShift CLI (oc) instalado y configurado.
  • Permisos adecuados para eliminar recursos en los espacios de nombres de destino.

Información requerida

Antes de continuar, debes recopilar la siguiente información:

  • Espacio de nombres de UiPath donde está instalado Dapr.

  • Espacio de nombres ArgoCD (normalmente argocd o openshift-gitops).
  • Si se trata de una instancia compartida de ArgoCD o una dedicada.

Proceso de desinstalación paso a paso

  1. Elimina la aplicación Dapr de 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>

    Espere a que se eliminen los recursos.

  2. Eliminar recursos personalizados de Dapr:

    # 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. Eliminar definiciones de recursos personalizados (CRD) de Dapr:

    # 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. Eliminar las configuraciones de webhook de Dapr:

    # 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. Eliminar vinculaciones de roles específicas de Dapr

    • Para instancia compartida de ArgoCD:

      # 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>
    • Para la instancia dedicada de ArgoCD:

      # 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. Eliminar roles específicos de Dapr:

    # 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. Limpiar los recursos restantes de Dapr

    • 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>
    • Servicios:

      # 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>
    • Implementaciones:

      # 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>

Verificación

Después de completar todos los pasos de desinstalación, comprueba que se han eliminado todos los componentes de 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# 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

Solución de problemas

Si no se pueden eliminar determinados recursos:

  • Asegúrate de tener los permisos necesarios.

  • Comprueba si los recursos están siendo gestionados por otro controlador.

  • Investiga cualquier dependencia que pueda estar impidiendo la eliminación.

Notas

  • Sustituye <uipath_namespace> por tu espacio de nombres de UiPath real.
  • Sustituye <argocd_namespace> por tu espacio de nombres ArgoCD real.
  • Ten cuidado al eliminar recursos compartidos que puedan afectar a otras aplicaciones.

Configurar Airflow

ArgoCD requiere el siguiente rol durante la instalación de Airflow:
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"]
Para crear el enlace de rol para una instancia de ArgoCD dedicada, ejecuta el siguiente comando:
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>

No es necesario realizar ninguna configuración adicional para una instancia compartida de ArgoCD.

¿Te ha resultado útil esta página?

Obtén la ayuda que necesitas
RPA para el aprendizaje - Cursos de automatización
Foro de la comunidad UiPath
Uipath Logo
Confianza y seguridad
© 2005-2025 UiPath. Todos los derechos reservados.