UiPath Documentation
automation-suite
2.2510
true
Guia de instalação do Automation Suite no Linux
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.

Configuração de solicitações e limites de recursos para cargas de trabalho criadas pelo uipathctl

Como ajustar solicitações e limites de CPU e memória quando as cargas de trabalho criadas pelo uipathctl falham ao agendar ou concluir.

Description

Quando você executa um uipathctl comando, uma carga de trabalho do Kubernetes criada pelo comando pode falhar devido a seus requisitos de CPU ou memória.

Você pode encontrar um dos seguintes sintoma:

  • O pod permanece no estado Pending e seus eventos contêm Insufficient cpu ou Insufficient memory.
  • O pod é encerrado com o status OOMKilled.
  • A carga de trabalho é limitada pela CPU ou não é concluída antes que o comando atinja o tempo limite.
  • Uma política de entrada rejeita o pod porque suas solicitações ou limites de recursos não estão em conformidade com um ResourceQuota ou LimitRange configurado no namespace.

O problema pode afetar cargas de trabalho criadas pelo uipathctl usadas para verificações de pré-requisitos, verificações de integridade, geração de pacotes de suporte, migrações, operações do Helm e atualizações.

Solução

Primeiro, identifique o pod afetado e inspecione seus eventos:

kubectl get pods -A
kubectl describe pod <pod-name> -n <namespace>
kubectl get pods -A
kubectl describe pod <pod-name> -n <namespace>

Dependendo da condição relatada:

  • OOMKilledPara, aumente o limite de memória. Aumente também a solicitação de memória se o pod tiver que ser agendado em um nó com mais memória disponível.
  • Para um pod Pending com Insufficient cpu ou Insufficient memory, reduza a solicitação apenas se a carga de trabalho puder ser executada com segurança com menos capacidade garantida. Caso contrário, adicione a capacidade do cluster.
  • Para erros de cota ou intervalo de limite, especifique solicitações e limites que estão em conformidade com a política configurada no namespace de destino.
  • Para cargas de trabalho lentas ou aceleradas por CPU, aumente o limite de CPU.

Você pode alterar os requisitos de recursos em input.json ou substituí-los em um único comando.

Configuração dos requisitos de recursos no input.json

uipathctl agrupa suas cargas de trabalho nas seguintes classes de recursos:

ClasseOperaçõesSolicitações padrão (CPU / memória)Limites padrão (CPU / memória)
diagnosticVerificações de integridade e testes de validação somente leitura50m / 64Mi250m / 256Mi
operationalVerificações de pré-requisitos, pacotes de suporte, operações do Helm e migração de dados de identidade1m / 1k2 / 2Gi
workloadMigrações do armazenamento de objetos, PVC e MongoDB e o servidor de arquivos de atualização250m / 512Mi2 / 2Gi

Para alterar os padrões para comandos que usam a configuração do Automation Suite, adicione workload_resources a input.json. Por exemplo, para aumentar os recursos disponíveis para cargas de trabalho de migração com muitos dados, use a seguinte configuração:

{
  "workload_resources": {
    "workload": {
      "requests": {
        "cpu": "500m",
        "memory": "1Gi"
      },
      "limits": {
        "cpu": "2",
        "memory": "4Gi"
      }
    }
  }
}
{
  "workload_resources": {
    "workload": {
      "requests": {
        "cpu": "500m",
        "memory": "1Gi"
      },
      "limits": {
        "cpu": "2",
        "memory": "4Gi"
      }
    }
  }
}

Você pode configurar as classes diagnostic, operational e workload de forma independente. Você também pode especificar apenas os valores que deseja alterar. Qualquer valor de CPU ou memória omitido mantém seu padrão.

As solicitações não podem exceder seus limites correspondentes. Use quantidades padrão de recursos do Kubernetes, como 500m ou 1 para CPU e 256Mi ou 1Gi para memória.

Substituição dos requisitos de recursos para um único comando

Para comandos que expõem as opções --probe-cpu e --probe-memory, você pode substituir os requisitos de recursos do pod auxiliar criado por esse comando. Por exemplo:

uipathctl health check --probe-cpu 500m --probe-memory 512Mi
uipathctl health check --probe-cpu 500m --probe-memory 512Mi

Cada opção define a solicitação e o limite para o recurso especificado. Se você especificar apenas uma opção, o outro recurso manterá seu valor efetivo.

As opções estão disponíveis para os seguintes comandos:

  • uipathctl health check
  • uipathctl health test
  • uipathctl health diagnose
  • uipathctl config add-host-admin
  • uipathctl config enable-basic-auth
  • uipathctl service aicenter sync-skills
  • uipathctl service aicenter sync-skill-status
  • uipathctl service orchestrator notifications-migration start

Quando ambos os métodos de configuração se aplicam, uipathctl resolve os valores na seguinte ordem, onde o valor posterior tem precedência:

  1. O padrão integrado.
  2. O valor workload_resources em input.json ou a configuração de cluster aplicada.
  3. A opção de linha de comando --probe-cpu ou --probe-memory.

Após atualizar os requisitos de recursos, execute o comando afetado novamente e confirme se a carga de trabalho criada pelo uipathctl é iniciada com sucesso.

Defina as menores solicitações e limites que permitem que a carga de trabalho seja concluída. Solicitações muito altas podem impedir o agendamento, enquanto limites muito baixos podem causar limitação ou rescisão.

  • Description
  • Solução
  • Configuração dos requisitos de recursos no input.json
  • Substituição dos requisitos de recursos para um único comando

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