- Visão geral
- Requisitos
- Pré-instalação
- Preparação da instalação
- Instalação e configuração do service mesh
- Baixando os pacotes de instalação
- Configuração do registro compatível com OCI
- Concessão de permissões de instalação
- Instalando e configurando a ferramenta GitOps
- Implantação do Redis pelo OperatorHub
- Atendendo aos pré-requisitos do Process Mining
- Aplicação de configurações diversas
- Executando o uipathctl
- Instalação
- Pós-instalação
- Migração e atualização
- Atualizando o Automação Suite
- Migração de produtos independentes para o Automation Suite
- Etapa 1: restauração do banco de dados de produtos independente
- Etapa 2: atualizar o esquema do banco de dados de produtos restaurado
- Etapa 3: migração dos dados da organização do Identity de independente para o Automation Suite
- Etapa 4: backup do banco de dados da plataforma no Automation Suite
- Etapa 5: mesclando organizações no Automation Suite
- Etapa 6: atualização das strings de conexão do produto migradas
- Etapa 7: migração do Orchestrator independente
- Etapa 8: migração do Insights independente
- Etapa 9: migração do Test Manager independente
- Etapa 10: exclusão do tenant padrão
- Executando uma migração de único tenant
- Migração entre clusters do Automation Suite
- Monitoramento e alertas
- Administração de cluster
- Configuração específica do produto
- Configuração avançada do Orchestrator
- Configuração de parâmetros do Orchestrator
- Configuração do AppSettings
- Configuração do tamanho máximo da solicitação
- Substituição da configuração de armazenamento no nível do cluster
- Configuração do NLog
- Salvando logs do robô no Elasticsearch
- Configuração dos repositórios de credenciais
- Configuração da chave de criptografia por tenant
- Limpeza do banco de dados do Orchestrator
- Ignorar a instalação da biblioteca do host
- Solução de problemas
- Como coletar dados de uso de DU com objectstore (Ceph) no cluster
- Como resolver a falha de verificação de conectividade pré-requisito no OpenShift 4.16-4.18
- Como desinstalar o Automation Suite
- Como implantar o Insights em um cluster habilitado para FIPS
- Como desabilitar a habilitação automática do CDI no operador de GPU Nvidia
Guia de instalação do Automation Suite no OpenShift
Dapr e cert-manager não são mais requisitos para o Process Mining a partir do Automation Suite 2024.10.3.
Instalação do cert-manager
A instalação Dapr para o Process Mining requer cert-manager.
Para instalar o Gerenciador de certificados por meio dos Operadores OpenShift, siga as instruções em Instalação do operador cert-manager para o Red Hat OpenShift.
Para garantir que o ArgoCD possa criar um certificado usando o cert-manager, você deve fornecer as permissões necessárias no cert-manager ao ArgoCD.
O exemplo a seguir mostra uma configuração válida para a função cert-manager do 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 criar a vinculação da função para uma instância dedicada do ArgoCD, execute o seguinte comando:
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
Para criar a vinculação da função para uma instância do ArgoCD compartilhada, execute o seguinte comando:
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
Desinstalando o Gerenciador de certificados
Você não deve remover esse recurso se o Task Mining estiver habilitado. O Task Mining depende do Cert Manager.
Pré-requisitos
- CLI do OpenShift (
oc) instalado e configurado. - Permissões apropriadas para excluir recursos nos namespaces de destino.
Informação necessária
Antes de prosseguir, você deve reunir as seguintes informações:
- Namespace UiPath onde os recursos do cert-manager estão sendo usados.
- Seja essa uma instância do ArgoCD compartilhada ou uma dedicada.
Processo de desinstalação passo a passo
- Exclua as associações de função para o cert-manager:
- Para a instância dedicada do 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 a instância ArgoCD compartilhada:
# 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>
- Para a instância dedicada do ArgoCD:
- Exclua a função cert-manager:
# 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> - Limpe os recursos cert-manager no 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 - Desinstale o cert-manager via hub da operação no console do OpenShift.
- Verifique os 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
Solução de problemas
Se alguns recursos não puderem ser excluídos:
- Certifique-se de que você tenha as permissões necessárias.
- Verifique se os recursos estão sendo usados por outros aplicativos.
- Para recursos que estão presos no estado Encerrando , você pode precisar remover os finalizadores.
Observações
- Este procedimento de desinstalação pressupõe que o cert-manager foi instalado por meio do OpenShift Operator Hub.
- Desinstale o cert-manager apenas se ele não estiver sendo usado por outros aplicativos no seu cluster.
- Se vários aplicativos dependerem de cert-manager, considere apenas remover os recursos específicos da UiPath.
- Substitua
<uipath_namespace>por seu namespace UiPath real.
Instalando o Dapr
Para instalar o Dapr, execute os seguintes passos:
- Crie uma função no nível do cluster para que o ArgoCD possa gerenciar definições de recursos personalizados e webhooks modificados. Para criar a função, siga as seguintes etapas:
- Salve a seguinte configuração de função como um arquivo 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: ['*'] - Aplique a configuração executando o seguinte comando. Certifique-se de substituir o placeholder
<file_name.yaml>pelo nome real do arquivo YAML:oc apply -f <file_name.yaml>oc apply -f <file_name.yaml>
- Salve a seguinte configuração de função como um arquivo YAML:
- Crie uma associação de função no nível do cluster para vincular a função
manage-crdsà conta de serviço do ArgoCD.- Para criar a vinculação de função para uma instância dedicada do ArgoCD, use o seguinte 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 criar a vinculação de função para uma instância compartilhada do ArgoCD, use o seguinte 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
- Para criar a vinculação de função para uma instância dedicada do ArgoCD, use o seguinte comando:
- Crie uma função para que o ArgoCD possa gerenciar os componentes do Dapr. Para criar a função, siga as seguintes etapas:
- Salve a seguinte configuração de função como um arquivo 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"] - Aplique a configuração executando o seguinte comando. Certifique-se de substituir o placeholder
<file_name.yaml>pelo nome real do arquivo YAML:oc apply -f <file_name.yaml>oc apply -f <file_name.yaml>
- Salve a seguinte configuração de função como um arquivo YAML:
- Crie uma vinculação de função entre a função
dapr-creatore a conta de serviço do ArgoCD.- Para criar a vinculação de função para uma instância dedicada do ArgoCD, use o seguinte 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 criar a vinculação de função para uma instância compartilhada do ArgoCD, use o seguinte 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
- Para criar a vinculação de função para uma instância dedicada do ArgoCD, use o seguinte comando:
- Crie um segredo de extração de imagem no namespace.
<uipath>Para criar o segredo de extração de imagem, você pode usar seu fluxo de trabalho típico ou seguir as seguintes etapas: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 - - Crie o aplicativo Argo usando o seguinte arquivo 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=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
A tabela a seguir fornece mais informações sobre como substituir os espaços reservados no arquivo YAML por valores adequados para os respectivos parâmetros:
| Parâmetro | Espaço reservado | Description |
|---|---|---|
namespace |
|
|
|
|
| Namespace para o Automation Suite |
project |
|
|
|
|
| Registro do gráfico do Helm |
targetRevision |
| Versão do gráfico Dapr Helm do arquivo versions.json |
Se você atualizar a pós-instalação do FQDN, você deve excluir e recriar o aplicativo Dapr seguindo as seguintes etapas:
- Na interface gráfica do ArgoCD, navegue até Dapr > Excluir.
- Instale o Dapr novamente seguindo todas as etapas nesta seção.
Geração do arquivo YAML do aplicativo por meio do script Bash
Você também pode usar o seguinte script do Bash para gerar o arquivo YAML do aplicativo:
#!/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"
Desinstalando o Dapr
Você não deve remover esse recurso se o Task Mining estiver habilitado. O Task Mining depende do Dapr.
Pré-requisitos
- CLI do OpenShift (
oc) instalado e configurado. - Permissões apropriadas para excluir recursos nos namespaces de destino.
Informação necessária
Antes de prosseguir, você deve reunir as seguintes informações:
- Namespace UiPath onde o Dapr é instalado.
- Namespace ArgoCD (normalmente
argocdouopenshift-gitops). - Seja essa uma instância do ArgoCD compartilhada ou uma dedicada.
Processo de desinstalação passo a passo
-
Exclua o aplicativo Dapr do 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>Aguarde a exclusão dos recursos.
-
Excluir recursos personalizados 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> -
Excluir as definições de recursos personalizados (CRDs) do 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 -
Remova as configurações do webhook do 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 -
Remover associações de função específicas de Dapr
- Para a instância ArgoCD compartilhada:
# 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 a instância dedicada do 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>
- Para a instância ArgoCD compartilhada:
-
Remova funções específicas 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> -
Limpar recursos restantes do 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> - Serviços:
# 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> - Implantações:
# 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:
Verificação
Após concluir todas as etapas de desinstalação, verifique se todos os componentes Dapr foram removidos:
# 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
Solução de problemas
Se alguns recursos não puderem ser excluídos:
- Certifique-se de que você tenha as permissões necessárias.
- Verifique se os recursos estão sendo gerenciados por outro controlador.
- Investigue quaisquer dependências que possam estar impedindo a exclusão.
Observações
- Substitua
<uipath_namespace>por seu namespace UiPath real. - Substitua
<argocd_namespace>por seu namespace do ArgoCD real. - Tenha cuidado ao excluir recursos compartilhados que possam afetar outros aplicativos.
Configuração do Airflow
O ArgoCD requer a seguinte função durante a instalação do 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 criar a vinculação da função para uma instância dedicada do ArgoCD, execute o seguinte 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>
Você não precisa executar nenhuma configuração adicional para uma instância compartilhada do ArgoCD.
- Instalação do cert-manager
- Desinstalando o Gerenciador de certificados
- Pré-requisitos
- Informação necessária
- Processo de desinstalação passo a passo
- Solução de problemas
- Observações
- Instalando o Dapr
- Geração do arquivo YAML do aplicativo por meio do script Bash
- Desinstalando o Dapr
- Pré-requisitos
- Informação necessária
- Processo de desinstalação passo a passo
- Verificação
- Solução de problemas
- Observações
- Configuração do Airflow