- 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
- 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
- Ignorando criação da biblioteca de 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
Instalando e configurando a ferramenta GitOps
Antes de prosseguir com a instalação e configuração do operador OpenShift GitOps, é necessário instalar o OpenShift Service Mesh e fornecer todas as permissões necessárias para a conta de serviço uipathadmin .
- Para obter instruções de instalação e configuração do service mesh, consulte Instalação e configuração do service mesh
- Para as permissões de instalação, consulte Concedendo permissões de instalação.
Você pode implantar o Automation Suite usando uma instância do OpenShift GitOps Operator dedicada aos aplicativos UiPath® ou uma instância compartilhada do OpenShift GitOps Operator, se ele já estiver instalado e disponível no seu cluster.
Recomendamos o uso de uma instância dedicada do OpenShift GitOps Operator para instalar os aplicativos do Automation Suite. Este método requer permissões mínimas para os outros namespaces e recursos de cluster.
Para obter instruções de instalação e acesso, consulte as seguintes seções:
Provisionando uma instância dedicada do GitOps
Recomendamos usar um namespace diferente de <uipath> para o ArgoCD.
Se você usar o OpenShift GitOps versão 1.15 ou superior e instalar uma instância dedicada do ArgoCD no <uipath> , a interface do usuário do ArgoCD não estará acessível devido às políticas de rede no namespace <uipath> adicionados pelo plano de controle do Service Mesh. Para resolver isso, você deve adicionar uma política de rede, conforme mostrado no exemplo a seguir, para permitir que os pods do Ingress alcancem os pods ArgoCD-server no namespace <uipath> .
kind: NetworkPolicy
apiVersion: networking.k8s.io/v1
metadata:
name: allow-argocd
spec:
podSelector:
matchLabels:
app.kubernetes.io/name: argocd-server
ingress:
- from:
- namespaceSelector:
matchLabels:
network.openshift.io/policy-group: ingress
policyTypes:
- Ingress
kind: NetworkPolicy
apiVersion: networking.k8s.io/v1
metadata:
name: allow-argocd
spec:
podSelector:
matchLabels:
app.kubernetes.io/name: argocd-server
ingress:
- from:
- namespaceSelector:
matchLabels:
network.openshift.io/policy-group: ingress
policyTypes:
- Ingress
Para provisionar uma instância dedicada do operador OpenShift GitOps, execute as seguintes etapas:
-
Se o namespace
<argocd>ainda não existir, execute os seguintes comandos para criá-lo:oc get namespace <argocd> || oc new-project <argocd> oc project <argocd>oc get namespace <argocd> || oc new-project <argocd> oc project <argocd> -
Instale o Operador do OpenShift GitOps seguindo as instruções em Instalação do OpenShift GitOps.
-
Crie uma nova instância do ArgoCD seguindo as instruções em Configuração de uma nova instância do ArgoCD.
Observação:Na seção
specdescrita em Habilitação de réplicas para o servidor do Argo CD e servidor de repositórios, você deve adicionar a seguinte linha:server.route.enabled: trueserver.route.enabled: true -
Patch a implantação do ArgoCD:
oc -n <argocd> patch deployment argocd-server \ -p '{"spec":{"template":{"metadata":{"labels":{"maistra.io/expose-route":"true"}}}}}'oc -n <argocd> patch deployment argocd-server \ -p '{"spec":{"template":{"metadata":{"labels":{"maistra.io/expose-route":"true"}}}}}' -
Crie uma função para que o ArgoCD possa gerenciar os intervalos de limite. Para criar a função, siga as seguintes etapas:
- Salve a seguinte configuração de função como um arquivo YAML:
kind: Role apiVersion: rbac.authorization.k8s.io/v1 metadata: name: limit-range-manager namespace: <uipath> rules: - apiGroups: ["*"] resources: ["limitranges"] verbs: ["get", "watch", "list", "patch", "update", "create"]kind: Role apiVersion: rbac.authorization.k8s.io/v1 metadata: name: limit-range-manager namespace: <uipath> rules: - apiGroups: ["*"] resources: ["limitranges"] verbs: ["get", "watch", "list", "patch", "update", "create"] - 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:
-
Associe a função
limit-range-managerà conta de serviçoargocd:oc -n <uipath> create rolebinding limit-range-manager-binding --role=limit-range-manager --serviceaccount=<argocd>:argocd-argocd-application-controlleroc -n <uipath> create rolebinding limit-range-manager-binding --role=limit-range-manager --serviceaccount=<argocd>:argocd-argocd-application-controller -
Se você habilitou o Process Mining - Dapr ou o Automation Suite Robots, deve habilitar o modo em todo o cluster para o ArgoCD executando as seguintes etapas:
- No
<openshift-gitops>, edite o recurso de assinaturaopenshift-gitops-operatorpara incluir a seguinte variável de ambiente:ARGOCD_CLUSTER_CONFIG_NAMESPACES: <argocd>ARGOCD_CLUSTER_CONFIG_NAMESPACES: <argocd> - Siga as instruções em Usando uma instância do Argo CD para gerenciar recursos com escopo de cluster.
- No
-
Você deve garantir que a instância do ArgoCD possa gerenciar o namespace
<uipath>se o namespace<uipath>não for o mesmo que o namespace<argocd>:oc label namespace <uipath> argocd.argoproj.io/managed-by=<argocd>oc label namespace <uipath> argocd.argoproj.io/managed-by=<argocd>Depois de aplicar a configuração, reinicie o ArgoCD
application-controler(statefulset) eserver(implantação). -
Você deve executar as seguintes etapas apenas se o namespace
<uipath>não for o mesmo que o namespace<argocd>.Crie uma função para gerenciar os aplicativos no namespace.
<argocd>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: uipath-application-manager namespace: <argocd> rules: - apiGroups: - argoproj.io resources: - applications verbs: - "*"apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: uipath-application-manager namespace: <argocd> rules: - apiGroups: - argoproj.io resources: - applications 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:
-
Associe a função
uipath-application-managerà conta de serviçouipathadmin:oc project <argocd> oc create rolebinding uipath-application-manager \ --role=uipath-application-manager --serviceaccount=<uipath>:uipathadminoc project <argocd> oc create rolebinding uipath-application-manager \ --role=uipath-application-manager --serviceaccount=<uipath>:uipathadmin -
Crie uma função para que a conta de serviço
uipathadminpossa criar e editar o segredo no namespace.<argocd>O aplicativo ArgoCD requer essa função para atualizar o segredo do Helm. 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: argo-secret-role namespace: <argocd> rules: - apiGroups: ["rbac.authorization.k8s.io"] resources: ["roles", "rolebindings"] verbs: ["*"] - apiGroups: ["*"] resources: ["secrets"] verbs: ["get", "watch", "list", "patch", "update", "create"]apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: argo-secret-role namespace: <argocd> rules: - apiGroups: ["rbac.authorization.k8s.io"] resources: ["roles", "rolebindings"] verbs: ["*"] - apiGroups: ["*"] resources: ["secrets"] verbs: ["get", "watch", "list", "patch", "update", "create"] - 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:
-
Associe a função
argo-secret-roleà conta de serviçouipathadmin:oc project <argocd> oc create rolebinding secret-binding \ --role=argo-secret-role --serviceaccount=<uipath>:uipathadminoc project <argocd> oc create rolebinding secret-binding \ --role=argo-secret-role --serviceaccount=<uipath>:uipathadmin -
Associe a
namespace-readerfunção no<argocd>namespace. àuipathadminconta de serviço:oc project <argocd> oc create rolebinding namespace-reader-rolebinding \ --clusterrole=namespace-reader-clusterrole --serviceaccount=<uipath>:uipathadminoc project <argocd> oc create rolebinding namespace-reader-rolebinding \ --clusterrole=namespace-reader-clusterrole --serviceaccount=<uipath>:uipathadmin
Acessando a instância dedicada do ArgoCD
Para acessar o ArgoCD, siga as seguintes etapas:
- Obtenha o URL do host:
oc get routes argocd-server -n <argocd> -o jsonpath={.spec.host}; echooc get routes argocd-server -n <argocd> -o jsonpath={.spec.host}; echo - Para fazer login, use
admincomo o nome de usuário e execute o seguinte comando para obter a senha:oc -n <argocd> get secrets argocd-cluster \ -o "jsonpath={.data['admin\.password']}" | base64 -d; echooc -n <argocd> get secrets argocd-cluster \ -o "jsonpath={.data['admin\.password']}" | base64 -d; echo
Configuração do repositório de Helm privado e certificados no ArgoCD
Para configurar o repositório do Helm no ArgoCD, siga as seguintes etapas:
- Faça login no ArgoCD.
- Navegue até Configurações > Repositórios > +CONNECT REPO.
- Use VIA HTTPS para o método de conexão.
- Selecione Helm como o tipo.
- Forneça um nome.
- Escolha padrão como o projeto.
- Forneça a URL do repositório, nome de usuário, senha e informações do certificado.
Importante:
Ao adicionar o certificado do cliente TLS na página +CONNECT REPO , a chave do certificado do cliente TLS se torna um campo obrigatório. Para configurar o certificado de registro sem a chave do certificado do cliente TLS, siga as seguintes etapas:
- Navegue até Configurações > Certificados de repositório e hosts conhecidos > +ADD TLS CERTIFICATE.
- Adicione o nome do repositório e o certificado TLS no formato PEM.
- Habilite a caixa de seleção OCI .
- Select Connect.
- Certifique-se de que o status da conexão seja Bem-sucedido.
Configurando uma instância compartilhada do GitOps
Se a sua equipe de plataforma ainda não provisionou a instância compartilhada do OpenShift GitOps Operator, siga as seguintes etapas de instalação e configuração:
-
Crie o namespace
<uipath>:oc get namespace <uipath> || oc new-project <uipath> oc project <uipath>oc get namespace <uipath> || oc new-project <uipath> oc project <uipath> -
Instale o Operador do OpenShift GitOps seguindo as instruções em Instalação do OpenShift GitOps. Essa instalação vem com a instância padrão do ArgoCD, denominada
openshift-gitops, no namespace<openshift-gitops>. -
Habilite o modo em todo o cluster para o ArgoCD seguindo as etapas a seguir:
- No
<openshift-gitops>, edite o recurso de assinaturaopenshift-gitops-operatorpara incluir a seguinte variável de ambiente:ARGOCD_CLUSTER_CONFIG_NAMESPACES: <openshift-gitops>ARGOCD_CLUSTER_CONFIG_NAMESPACES: <openshift-gitops> - Siga as instruções em Usando uma instância do ArgoCD para gerenciar recursos com escopo de cluster.
- No
-
Certifique-se de que a instância
openshift-gitopsdo ArgoCD possa gerenciar o namespace<uipath>:oc label namespace <uipath> argocd.argoproj.io/managed-by=openshift-gitopsoc label namespace <uipath> argocd.argoproj.io/managed-by=openshift-gitopsDepois de aplicar a configuração, reinicie o ArgoCD
openshift-gitops-application-controller(statefulset) eopenshift-gitops-server(implantação). -
Patch a implantação do ArgoCD:
oc -n <uipath> patch deployment argocd-server -p '{"spec":{"template":{"metadata":{"labels":{"maistra.io/expose-route":"true"}}}}}'oc -n <uipath> patch deployment argocd-server -p '{"spec":{"template":{"metadata":{"labels":{"maistra.io/expose-route":"true"}}}}}' -
Crie um projeto ArgoCD para o aplicativo UiPath®:
apiVersion: argoproj.io/v1alpha1 kind: AppProject metadata: name: uipath namespace: <openshift-gitops> spec: description: Appproject to managed and deploy uipath applications clusterResourceWhitelist: - group: '*' kind: '*' destinations: - namespace: <uipath> server: https://kubernetes.default.svc - namespace: <istio-system> server: https://kubernetes.default.svc sourceNamespaces: - <openshift-gitops> sourceRepos: - '*'apiVersion: argoproj.io/v1alpha1 kind: AppProject metadata: name: uipath namespace: <openshift-gitops> spec: description: Appproject to managed and deploy uipath applications clusterResourceWhitelist: - group: '*' kind: '*' destinations: - namespace: <uipath> server: https://kubernetes.default.svc - namespace: <istio-system> server: https://kubernetes.default.svc sourceNamespaces: - <openshift-gitops> sourceRepos: - '*' -
Crie uma função para que o ArgoCD possa gerenciar os intervalos de limite. Para criar a função, siga as seguintes etapas:
- Salve a seguinte configuração de função como um arquivo YAML:
kind: Role apiVersion: rbac.authorization.k8s.io/v1 metadata: name: limit-range-manager namespace: <uipath> rules: - apiGroups: ["*"] resources: ["limitranges"] verbs: ["get", "watch", "list", "patch", "update", "create"]kind: Role apiVersion: rbac.authorization.k8s.io/v1 metadata: name: limit-range-manager namespace: <uipath> rules: - apiGroups: ["*"] resources: ["limitranges"] verbs: ["get", "watch", "list", "patch", "update", "create"] - 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:
-
Associe a função
limit-range-managerà conta de serviçoargocd:oc -n <uipath> create rolebinding limit-range-manager-binding --role=limit-range-manager --serviceaccount=<openshift-gitops>:openshift-gitops-argocd-application-controlleroc -n <uipath> create rolebinding limit-range-manager-binding --role=limit-range-manager --serviceaccount=<openshift-gitops>:openshift-gitops-argocd-application-controller -
Crie uma função para gerenciar os aplicativos no namespace.
<openshift-gitops>apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: uipath-application-manager namespace: <openshift-gitops> rules: - apiGroups: - argoproj.io resources: - applications verbs: - "*"apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: uipath-application-manager namespace: <openshift-gitops> rules: - apiGroups: - argoproj.io resources: - applications verbs: - "*" -
Associe a função
uipath-application-managerà conta de serviçouipathadmin:oc project <openshift-gitops> oc create rolebinding uipath-application-manager \ --role=uipath-application-manager --serviceaccount=<uipath>:uipathadminoc project <openshift-gitops> oc create rolebinding uipath-application-manager \ --role=uipath-application-manager --serviceaccount=<uipath>:uipathadmin -
Crie uma função para que o ArgoCD possa criar e editar o segredo no namespace.
<openshift-gitops>O aplicativo ArgoCD requer essa função para atualizar o segredo do Helm. O exemplo a seguir mostra uma configuração válida para a função:apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: argo-secret-role namespace: <openshift-gitops> rules: - apiGroups: ["rbac.authorization.k8s.io"] resources: ["roles", "rolebindings"] verbs: ["*"] - apiGroups: ["*"] resources: ["secrets"] verbs: ["get", "watch", "list", "patch", "update", "create"]apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: argo-secret-role namespace: <openshift-gitops> rules: - apiGroups: ["rbac.authorization.k8s.io"] resources: ["roles", "rolebindings"] verbs: ["*"] - apiGroups: ["*"] resources: ["secrets"] verbs: ["get", "watch", "list", "patch", "update", "create"] -
Associe a função
argo-secret-roleà conta de serviçouipathadmin:oc project <openshift-gitops> oc create rolebinding secret-binding \ --role=argo-secret-role --serviceaccount=<uipath>:uipathadminoc project <openshift-gitops> oc create rolebinding secret-binding \ --role=argo-secret-role --serviceaccount=<uipath>:uipathadmin -
Associe a
namespace-readerfunção no<openshift-gitops>namespace. àuipathadminconta de serviço:oc project <openshift-gitops> oc create rolebinding namespace-reader-rolebinding \ --clusterrole=namespace-reader-clusterrole --serviceaccount=<uipath>:uipathadminoc project <openshift-gitops> oc create rolebinding namespace-reader-rolebinding \ --clusterrole=namespace-reader-clusterrole --serviceaccount=<uipath>:uipathadmin
Além de concluir as etapas para configurar a instância compartilhada do ArgoCD para a instalação do Automation Suite, você deve adicionar os seguintes parâmetros ao arquivo input.json :
"argocd": {
"project": "<uipath>"
},
"argocd": {
"project": "<uipath>"
},
Acessando a instância compartilhada do ArgoCD
Para acessar o ArgoCD, siga as seguintes etapas:
- Obtenha o URL do host executando os seguintes comandos:
oc get routes openshift-gitops-server -n <openshift-gitops> -o jsonpath={.spec.host}; echooc get routes openshift-gitops-server -n <openshift-gitops> -o jsonpath={.spec.host}; echo - Para fazer login, use
admincomo o nome de usuário e execute o seguinte comando para obter a senha:oc -n <openshift-gitops> get secrets openshift-gitops-cluster \ -o "jsonpath={.data['admin\.password']}" | base64 -d; echooc -n <openshift-gitops> get secrets openshift-gitops-cluster \ -o "jsonpath={.data['admin\.password']}" | base64 -d; echo
Configuração do repositório de Helm privado e certificados no ArgoCD
Para configurar o repositório do Helm no ArgoCD, siga as seguintes etapas:
- Faça login no ArgoCD.
- Navegue até Configurações > Repositórios > +CONNECT REPO.
- Use VIA HTTPS para o método de conexão.
- Selecione Helm como o tipo.
- Forneça um nome.
- Escolha uipath como o projeto. uipath é o nome do projeto ArgoCD que você criou para o aplicativo UiPath®.
- Forneça a URL do repositório, nome de usuário, senha e informações do certificado.
Importante:
Ao adicionar o certificado do cliente TLS na página +CONNECT REPO , a chave do certificado do cliente TLS se torna um campo obrigatório. Para configurar o certificado de registro sem a chave do certificado do cliente TLS, siga as seguintes etapas:
- Navegue até Configurações > Certificados de repositório e hosts conhecidos > +ADD TLS CERTIFICATE.
- Adicione o nome do repositório e o certificado TLS no formato PEM.
- Habilite a caixa de seleção OCI .
- Select Connect.
- Certifique-se de que o status da conexão seja Bem-sucedido.
Configuração do ArgoCD para várias instalações em um único cluster
Para configurar o ArgoCD para várias instalações do Automation Suite em um único cluster do OpenShift, siga estas etapas:
- Verifique se todos os serviços do ArgoCD estão funcionando. Você pode executar o seguinte comando para monitorar todos os pods:
oc get pods -n <argocd>oc get pods -n <argocd> - Depois que todos os serviços estiverem funcionando, você pode usar o seguinte comando sequencialmente para corrigir as permissões do ArgoCD. Isso permite que o ArgoCD gerencie diferentes namespaces de aplicativos nos quais o Automation Suite está instalado:
oc patch appprojects.argoproj.io default -n <argocd> --type='merge' -p '{"spec": {"sourceNamespaces": ["*"]}}' oc patch configmaps argocd-cmd-params-cm -n <argocd> --type='merge' -p '{"data": {"application.namespaces": "*"}}' oc rollout restart -n <argocd> deployment argocd-server oc rollout restart -n <argocd> statefulset argocd-application-controlleroc patch appprojects.argoproj.io default -n <argocd> --type='merge' -p '{"spec": {"sourceNamespaces": ["*"]}}' oc patch configmaps argocd-cmd-params-cm -n <argocd> --type='merge' -p '{"data": {"application.namespaces": "*"}}' oc rollout restart -n <argocd> deployment argocd-server oc rollout restart -n <argocd> statefulset argocd-application-controller
- Provisionando uma instância dedicada do GitOps
- Acessando a instância dedicada do ArgoCD
- Configurando o repositório privado e os certificados do Helm no ArgoCD
- Configurando uma instância compartilhada do GitOps
- Acessando a instância compartilhada do ArgoCD
- Configurando o repositório privado e os certificados do Helm no ArgoCD
- Configuração do ArgoCD para várias instalações em um único cluster