automation-suite
2024.10
true
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 16 de mai de 2025

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:
    - Ingresskind: 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 OpenShift GitOps Operator 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 Argo CD e servidor de repositório, você deve adicionar a seguinte linha:
    server.route.enabled: trueserver.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-controlleroc -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>
  8. Se você habilitar o Process Mining - Dapr ou Automation Suite Robots, você deve garantir que a instância do ArgoCD possa gerenciar o namespace <uipath> :
    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>:uipathadminoc 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>:uipathadminoc 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>: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:

  1. 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
  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; echooc -n <argocd> get secrets argocd-cluster \
      -o "jsonpath={.data['admin\.password']}" | base64 -d; echo

Configurando o repositório privado e os certificados do Helm 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 > +CONECTAR 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 o 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 de certificado do cliente TLS, execute as seguintes etapas:
    1. Navegue até Configurações > Certificados de repositório e hosts conhecidos > +ADICIONAR CERTIFICADOS TLS.

    2. Adicione o nome do repositório e o certificado TLS no formato PEM.

  8. Habilite a caixa de seleção do OCI .
  9. Selecione Conectar.
  10. Certifique-se de que o status da conexão seja Sucesso.

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 OpenShift GitOps Operator seguindo as instruções em Instalação do OpenShift GitOps. Essa instalação vem com a instância padrão do ArgoCD, chamada 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>
  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-gitopsoc 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-controlleroc -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>:uipathadminoc 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>:uipathadminoc 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>: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 do ArgoCD compartilhada 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}; echooc 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; echooc -n <openshift-gitops> get secrets openshift-gitops-cluster \
      -o "jsonpath={.data['admin\.password']}" | base64 -d; echo

Configurando o repositório privado e os certificados do Helm 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 > +CONECTAR 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 de certificado do cliente TLS, execute as seguintes etapas:
    1. Navegue até Configurações > Certificados de repositório e hosts conhecidos > +ADICIONAR CERTIFICADOS TLS.

    2. Adicione o nome do repositório e o certificado TLS no formato PEM.

  8. Habilite a caixa de seleção do OCI .
  9. Selecione Conectar.
  10. Certifique-se de que o status da conexão seja Sucesso.

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 <argocdNamespace>oc get pods -n <argocdNamespace>
  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 <argocdNamespace> --type='merge' -p '{"spec": {"sourceNamespaces": ["*"]}}'
    oc patch configmaps argocd-cmd-params-cm -n <argocdNamespace> --type='merge' -p '{"data": {"application.namespaces": "*"}}'
    oc rollout restart -n <argocdNamespace> deployment argocd-server
    oc rollout restart -n <argocdNamespace> statefulset argocd-application-controlleroc patch appprojects.argoproj.io default -n <argocdNamespace> --type='merge' -p '{"spec": {"sourceNamespaces": ["*"]}}'
    oc patch configmaps argocd-cmd-params-cm -n <argocdNamespace> --type='merge' -p '{"data": {"application.namespaces": "*"}}'
    oc rollout restart -n <argocdNamespace> deployment argocd-server
    oc rollout restart -n <argocdNamespace> statefulset argocd-application-controller

Esta página foi útil?

Obtenha a ajuda que você precisa
Aprendendo RPA - Cursos de automação
Fórum da comunidade da Uipath
Uipath Logo White
Confiança e segurança
© 2005-2025 UiPath. Todos os direitos reservados.