- Visão geral
- Requisitos
- Modelos de implantação
- Manual: preparando a instalação
- Manual: preparando a instalação
- Etapa 2: configuração do registro compatível com OCI para instalações offline
- Etapa 3: configuração do objectstore externo
- Etapa 4: configuração do High Availability Add-on
- Etapa 5: configuração de bancos de dados SQL
- Etapa 7: configuração do DNS
- Etapa 8: configuração dos discos
- Etapa 9: configuração dos ajustes do nível do kernel e do sistema operacional
- Etapa 10: configuração das portas do nó
- Etapa 11: aplicação de configurações diversas
- Etapa 12: validação e instalação dos pacotes RPM necessários
- Etapa 13: geração de cluster_config.json
- Amostra Cluster_config.json
- Configuração geral
- Configuração do perfil
- Configuração de Certificados
- Configuração do Banco de Dados
- Configuração externa do Objectstore
- Configuração de URL pré-assinada
- Configuração do ArgoCD
- Configuração da autenticação do Kerberos
- Configuração de registro externo compatível com OCI
- Disaster Recovery: configurações Ativo/Passivo e Ativo/Ativo
- Configuração do High Availability Add-on
- Configuração específica do Orchestrator
- Configuração específica do Insights
- Process Mining-specific configuration
- Configuração específica do Document Understanding
- Automation Suite Robots-specific configuration
- Configuração do monitoramento
- Opcional: configuração do servidor proxy
- Opcional: habilitação da resiliência a falhas zonais em um cluster de produção pronto para alta disponibilidade de vários nós
- Opcional: transmitindo resolv.conf personalizado
- Optional: Increasing fault tolerance
- Adicionando um nó de agente dedicado com suporte a GPU
- Adicionando um nó de agente dedicado para robôs do Automation Suite
- Etapa 15: configuração do registro temporário do Docker para instalações offline
- Etapa 16: validação dos pré-requisitos para a instalação
- Executando o uipathctl
- Manual: realizando a instalação
- Pós-instalação
- Administração de cluster
- Gerenciando produtos
- Introdução ao portal de administração do cluster
- Migração do Redis do High Availability Add-on no cluster para externo
- Migrating data between objectstores
- Migrating in-cluster objectstore to external objectstore
- Migração de um registro no cluster para um registro externo compatível com OCI
- Mudança para o cluster secundário manualmente em uma configuração Ativo/Passivo
- Disaster Recovery: executando operações pós-instalação
- Convertendo uma instalação existente para configuração multi-local
- Diretrizes sobre atualização de uma implantação Ativo/Passivo ou Ativo/Ativo
- Diretrizes sobre backup e restauração de uma implantação Ativo/Passivo ou Ativo/Ativo
- Escalando uma implantação de nó único (avaliação) para uma implantação de vários nós (HA)
- Monitoramento e alertas
- Migração e atualização
- Migração entre clusters do Automation Suite
- Atualizando o Automação Suite
- Download dos pacotes de instalação e obtenção de todos os arquivos no primeiro nó do servidor
- Recuperação da mais recente configuração aplicada do cluster
- Atualização da configuração de cluster
- Configuração do registro compatível com OCI para instalações offline
- Execução da atualização
- Realização de operações pós-atualização
- 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
- Melhores práticas e manutenção
- Solução de problemas
- Como solucionar problemas dos serviços durante a instalação
- Como reduzir as permissões para um diretório de backup NFS
- Como desinstalar o cluster
- Como limpar os artefatos offline para melhorar o espaço em disco
- Como limpar os dados do Redis
- Como habilitar o registro em log do Istio
- Como limpar logs manualmente
- Como limpar logs antigos armazenados no bucket do sf-logs
- Como desabilitar os logs de streaming para o AI Center
- Como depurar instalações do Automation Suite com falha
- Como excluir imagens do instalador antigo após a atualização
- Como desabilitar o descarregamento de soma de verificação do TX
- Como definir manualmente o nível de log do ArgoCD como Info
- Como expandir o armazenamento do AI Center
- Como gerar o pull_secret_value codificado para registros externos
- Como lidar com cifras fracas no TLS 1.2
- Como verificar a versão do TLS
- Como trabalhar com certificados
- Como agendar o backup e restaurar dados do Ceph
- Como coletar dados de uso de DU com objectstore (Ceph) no cluster
- Como instalar o RKE2 SELinux em ambientes air-gapped
- Como limpar backups diferenciados antigos em um servidor NFS
- Como implantar o Insights em um cluster habilitado para FIPS
- Como migrar para o Cgroup v2
- Como recuperar a autenticação do Kerberos após uma reinicialização da VM
- Como enviar uma imagem do Docker local para o registro no cluster
- Como excluir buckets do backup
- Erro ao baixar o pacote
- A instalação offline falha devido a um binário ausente
- Problema de certificado na instalação offline
- Erro de validação da string de conexão ao SQL
- Azure disk not marked as SSD
- Falha após a atualização do certificado
- Erros de validação de certificado TLS
- Antivírus causa problemas de instalação
- Automation Suite not working after OS upgrade
- O Automation Suite requer que backlog_wait_time seja definido como 0
- A instalação do registro temporário falha no RHEL 8.9
- Problema de reinício frequente em implantações de namespace uipath durante instalações offline
- Configurações de DNS não honradas pelo CoreDNS
- A geração de registros no cluster falha devido a memória insuficiente
- As verificações de pré-requisitos falham quando os projetos modernos do Document Understanding estão habilitados e o AI Center está desabilitado
- Upgrade fails due to unhealthy Ceph
- RKE2 não é iniciado devido a um problema de espaço
- A atualização falha devido a objetos clássicos no banco de dados do Orchestrator
- Um cluster do Ceph foi encontrado em um estado degradado após atualização lado a lado
- A atualização do serviço falha para o Apps
- Tempos limite de atualização no local
- Falha de atualização em ambientes offline
- pod snapshot-controller-crds no estado CrashLoopBackOff após a atualização
- Falha de atualização devido aos tamanhos de PVC do Insights substituídos
- Falha de atualização devido ao nome de host em letra maiúscula
- Configurando um intervalo de tempo limite para os portais de gerenciamento
- Autenticação não funciona após migração
- kinit: não é possível encontrar o KDC para o realm <AD Domain> ao obter credenciais iniciais
- kinit: o Keytab não contém chaves adequadas para *** ao obter credenciais iniciais
- Falha na operação GSSAPI devido a código de status inválido
- Alarme recebido para trabalho com falha do Kerberos-tgt-update
- Provedor de SSPI: servidor não encontrado no banco de dados Kerberos
- Falha de login para usuário do AD devido a conta desabilitada
- ArgoCD login failed
- Atualizar as conexões de diretório subjacentes
- Falha ao obter a imagem do sandbox
- Os pods não são exibidos na UI do ArgoCD
- Falha de teste do Redis
- O servidor RKE2 falha ao iniciar
- Segredo não encontrado no namespace da UiPath
- O ArgoCD entra em estado Em andamento após a primeira instalação
- Pod de repositório do ArgoCD em CrashLoopBackOff
- Migreção manual do ArgoCD NetworkPolicy (GHSA-47m3-95c7-g2g8)
- Métricas Ceph-rook ausentes nos painéis de monitoramento
- Incompatibilidade em erros relatados durante as verificações de integridade do diagnóstico
- Configuração de solicitações e limites de recursos para cargas de trabalho criadas pelo uipathctl
- Nenhum problema upstream íntegro
- Inicialização do Redis bloqueada por antivírus
- Os pods do AI Center e do Document Understanding falham ao iniciar com a verificação do certificado TLS habilitada
- O Fluentd não exporta logs em ambientes IPv6
- O Studio Desktop não pode carregar conectores e atividades do Integration Service
- O Document Understanding não está no menu de navegação esquerdo do Automation Suite
- Status de Falha ao criar uma sessão de rotulagem de dados
- Status de Falha ao tentar implantar uma habilidade de ML
- Trabalho de migração falha no ArgoCD
- Reconhecimento de escrita com o Extrator de formulários inteligente não está funcionando
- Execução de alta disponibilidade com o Process Mining
- Falha na ingestão do Process Mining ao fazer logon usando o Kerberos
- Não é possível conectar-se ao banco de dados AutomationSuite_ProcessMining_Warehouse usando uma string de conexão em formato pyodbc.
- A instalação do Airflow falha com sqlalchemy.exc.ArgumentError: não foi possível analisar o URL rfc1738 da string ''
- Como adicionar uma regra de tabela de IP para usar a porta 1433 do SQL Server
- O certificado do Automation Suite não é confiável para o servidor em que o CData Sync está sendo executado
- Execução da ferramenta de diagnóstico
- Usando o pacote de suporte do Automation Suite
- Exploração de logs
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
Pendinge seus eventos contêmInsufficient cpuouInsufficient 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
ResourceQuotaouLimitRangeconfigurado 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
PendingcomInsufficient cpuouInsufficient 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:
| Classe | Operações | Solicitações padrão (CPU / memória) | Limites padrão (CPU / memória) |
|---|---|---|---|
diagnostic | Verificações de integridade e testes de validação somente leitura | 50m / 64Mi | 250m / 256Mi |
operational | Verificações de pré-requisitos, pacotes de suporte, operações do Helm e migração de dados de identidade | 1m / 1k | 2 / 2Gi |
workload | Migrações do armazenamento de objetos, PVC e MongoDB e o servidor de arquivos de atualização | 250m / 512Mi | 2 / 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 checkuipathctl health testuipathctl health diagnoseuipathctl config add-host-adminuipathctl config enable-basic-authuipathctl service aicenter sync-skillsuipathctl service aicenter sync-skill-statusuipathctl 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:
- O padrão integrado.
- O valor
workload_resourceseminput.jsonou a configuração de cluster aplicada. - A opção de linha de comando
--probe-cpuou--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.