UiPath Documentation
automation-suite
2024.10
false
Importante :
A tradução automática foi aplicada parcialmente neste conteúdo. A localização de um conteúdo recém-publicado pode levar de 1 a 2 semanas para ficar disponível.
UiPath logo, featuring letters U and I in white

Guia de instalação do Automation Suite no OpenShift

Última atualização 15 de abr de 2026

Instalando e configurando a ferramenta GitOps

Observação:

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 .

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

Observação:

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:

  1. 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>
    
  2. Instale o Operador do OpenShift GitOps seguindo as instruções em Instalação do OpenShift GitOps.

  3. 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 spec descrita 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: true
    server.route.enabled: true
    
  4. 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"}}}}}'
    
  5. Crie uma função para que o ArgoCD possa gerenciar os intervalos de limite. Para criar a função, siga as seguintes etapas:

    1. 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"]
      
    2. 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>
      
  6. Associe a função limit-range-manager à conta de serviço argocd :

    oc -n <uipath> create rolebinding limit-range-manager-binding --role=limit-range-manager --serviceaccount=<argocd>:argocd-argocd-application-controller
    oc -n <uipath> create rolebinding limit-range-manager-binding --role=limit-range-manager --serviceaccount=<argocd>:argocd-argocd-application-controller
    
  7. 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:

    1. No <openshift-gitops>, edite o recurso de assinatura openshift-gitops-operator para incluir a seguinte variável de ambiente:
      ARGOCD_CLUSTER_CONFIG_NAMESPACES: <argocd>
      ARGOCD_CLUSTER_CONFIG_NAMESPACES: <argocd>
      
    2. Siga as instruções em Usando uma instância do Argo CD para gerenciar recursos com escopo de cluster.
  8. 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) e server (implantação).

  9. 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:

    1. 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:
        - "*"
      
    2. 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>
      
  10. Associe a função uipath-application-manager à conta de serviço uipathadmin :

    oc project <argocd>
    oc create rolebinding uipath-application-manager \
      --role=uipath-application-manager --serviceaccount=<uipath>:uipathadmin
    oc project <argocd>
    oc create rolebinding uipath-application-manager \
      --role=uipath-application-manager --serviceaccount=<uipath>:uipathadmin
    
  11. Crie uma função para que a conta de serviço uipathadmin possa 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:

    1. 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"]
      
    2. 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>
      
  12. Associe a função argo-secret-role à conta de serviço uipathadmin :

    oc project <argocd>
    oc create rolebinding secret-binding \
      --role=argo-secret-role --serviceaccount=<uipath>:uipathadmin
    oc project <argocd>
    oc create rolebinding secret-binding \
      --role=argo-secret-role --serviceaccount=<uipath>:uipathadmin
    
  13. Associe a namespace-reader função no <argocd> namespace. à uipathadmin conta de serviço:

    oc project <argocd>
    oc create rolebinding namespace-reader-rolebinding \
      --clusterrole=namespace-reader-clusterrole --serviceaccount=<uipath>:uipathadmin
    oc 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:

  1. Obtenha o URL do host:
    oc get routes argocd-server -n <argocd> -o jsonpath={.spec.host}; echo
    oc get routes argocd-server -n <argocd> -o jsonpath={.spec.host}; echo
    
  2. Para fazer login, use admin como 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; echo
    oc -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:

  1. Faça login no ArgoCD.
  2. Navegue até Configurações > Repositórios > +CONNECT REPO.
  3. Use VIA HTTPS para o método de conexão.
  4. Selecione Helm como o tipo.
  5. Forneça um nome.
  6. Escolha padrão como o projeto.
  7. 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:

    1. Navegue até Configurações > Certificados de repositório e hosts conhecidos > +ADD TLS CERTIFICATE.
    2. Adicione o nome do repositório e o certificado TLS no formato PEM.
  8. Habilite a caixa de seleção OCI .
  9. Select Connect.
  10. 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:

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

  3. Habilite o modo em todo o cluster para o ArgoCD seguindo as etapas a seguir:

    1. No <openshift-gitops>, edite o recurso de assinatura openshift-gitops-operator para incluir a seguinte variável de ambiente:
      ARGOCD_CLUSTER_CONFIG_NAMESPACES: <openshift-gitops>
      ARGOCD_CLUSTER_CONFIG_NAMESPACES: <openshift-gitops>
      
    2. Siga as instruções em Usando uma instância do ArgoCD para gerenciar recursos com escopo de cluster.
  4. Certifique-se de que a instância openshift-gitops do ArgoCD possa gerenciar o namespace <uipath> :

    oc label namespace <uipath> argocd.argoproj.io/managed-by=openshift-gitops
    oc label namespace <uipath> argocd.argoproj.io/managed-by=openshift-gitops
    

    Depois de aplicar a configuração, reinicie o ArgoCD openshift-gitops-application-controller (statefulset) e openshift-gitops-server (implantação).

  5. 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"}}}}}'
    
  6. 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:
        - '*'
    
  7. Crie uma função para que o ArgoCD possa gerenciar os intervalos de limite. Para criar a função, siga as seguintes etapas:

    1. 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"]
      
    2. 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>
      
  8. Associe a função limit-range-manager à conta de serviço argocd :

    oc -n <uipath> create rolebinding limit-range-manager-binding --role=limit-range-manager --serviceaccount=<openshift-gitops>:openshift-gitops-argocd-application-controller
    oc -n <uipath> create rolebinding limit-range-manager-binding --role=limit-range-manager --serviceaccount=<openshift-gitops>:openshift-gitops-argocd-application-controller
    
  9. 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:
      - "*"
    
  10. Associe a função uipath-application-manager à conta de serviço uipathadmin :

    oc project <openshift-gitops>
    oc create rolebinding uipath-application-manager \
      --role=uipath-application-manager --serviceaccount=<uipath>:uipathadmin
    oc project <openshift-gitops>
    oc create rolebinding uipath-application-manager \
      --role=uipath-application-manager --serviceaccount=<uipath>:uipathadmin
    
  11. 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"]
    
  12. Associe a função argo-secret-role à conta de serviço uipathadmin :

    oc project <openshift-gitops>
    oc create rolebinding secret-binding \
      --role=argo-secret-role --serviceaccount=<uipath>:uipathadmin
    oc project <openshift-gitops>
    oc create rolebinding secret-binding \
      --role=argo-secret-role --serviceaccount=<uipath>:uipathadmin
    
  13. Associe a namespace-reader função no <openshift-gitops> namespace. à uipathadmin conta de serviço:

    oc project <openshift-gitops>
    oc create rolebinding namespace-reader-rolebinding \
      --clusterrole=namespace-reader-clusterrole --serviceaccount=<uipath>:uipathadmin
    oc 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:

  1. Obtenha o URL do host executando os seguintes comandos:
    oc get routes openshift-gitops-server -n <openshift-gitops> -o jsonpath={.spec.host}; echo
    oc get routes openshift-gitops-server -n <openshift-gitops> -o jsonpath={.spec.host}; echo
    
  2. Para fazer login, use admin como 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; echo
    oc -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:

  1. Faça login no ArgoCD.
  2. Navegue até Configurações > Repositórios > +CONNECT REPO.
  3. Use VIA HTTPS para o método de conexão.
  4. Selecione Helm como o tipo.
  5. Forneça um nome.
  6. Escolha uipath como o projeto. uipath é o nome do projeto ArgoCD que você criou para o aplicativo UiPath®.
  7. 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:

    1. Navegue até Configurações > Certificados de repositório e hosts conhecidos > +ADD TLS CERTIFICATE.
    2. Adicione o nome do repositório e o certificado TLS no formato PEM.
  8. Habilite a caixa de seleção OCI .
  9. Select Connect.
  10. 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:

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

Esta página foi útil?

Conectar

Precisa de ajuda? Suporte

Quer aprender? Academia UiPath

Tem perguntas? Fórum do UiPath

Fique por dentro das novidades