- Visão geral
- Requisitos
- Pré-instalação
- 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
- Migração do Automation Suite no EKS/AKS para o Automation Suite no OpenShift
- 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
- Ignorar a instalação da biblioteca do host
- Solução de problemas
- Não é possível acessar o Automation Hub após a atualização para o Automation Suite 2024.10.0
- Falha no provisionamento do AI Center após a atualização para a 2023.10 ou posterior
- Volumes do Insights criados em duas zonas diferentes após a migração
- Falha de atualização devido aos tamanhos de PVC do Insights substituídos
- A configuração de backup não funciona devido a uma falha na conexão com o Azure Government
- Pods no namespace uipath travaram ao habilitar taints de nó personalizado
- Não é possível iniciar o Automation Hub e o Apps com configuração de proxy
- O Robot não pode se conectar a uma instância do Automation Suite Orchestrator
- O streaming de logs não funciona em configurações de proxy
- O backup do Velero falha com o erro FailedValidation
- O acesso ao FQDN retorna RBAC: erro de acesso negado
Guia de instalação do Automation Suite no EKS/AKS
Você deve provisionar e configurar recursos de rede do Azure ou da AWS para garantir que o Automation Suite em seu cluster tenha conectividade e acesso aos pré-requisitos de infraestrutura de nuvem (por exemplo, armazenamento, banco de dados, cache e DNS). Dependendo da sua arquitetura de rede, isso pode incluir a configuração de VNETs/VPC, DNS, sub-redes, NSGs/grupos de segurança, gateway NAT, IP elástico e gateway de internet. Para obter detalhes, consulte Cenários de implantação.
Observe que, com base na escalabilidade da carga de trabalho, poderão ser necessárias mais réplicas. Por padrão, o modo HA requer duas réplicas e pode ir até dez ou mais réplicas. Certifique-se de que sua rede ofereça suporte a esse nível de escalabilidade.
Você pode usar qualquer CNI desde que os pods possam comunicar-se entre si.
Há considerações especiais para CNIs de nuvem, como Azure CNI e Amazon VPC CNI, que não são compatíveis com sub-redes de rede de pods internos ou privados. O número de pods necessários para o Automation Suite depende da sua seleção de produtos e do dimensionamento da carga de trabalho. Por exemplo, para uma implantação com todos os serviços habilitados e em alta utilização, você pode precisar de mais de 400 IPs para suportar os requisitos de escalabilidade. Por isso, recomendamos alocar um intervalo CIDR de pelo menos /23.
O Automation Suite não é compatível com o protocolo de internet IPv6.
Alterações nas tabelas de IP não são recomendadas e não são suportadas.
Controlador de entrada personalizado
Se você tiver um controlador de ingresso personalizado (NGINX), consulte Configuração do ingress do NGINX e pule o resto da página.
Configuração do balanceador de carga
O Automation Suite provisiona um balanceador de carga em seu nome durante a instalação. O balanceador de carga deve ser atribuído com endereços IP públicos ou privados para rotear as solicitações de FQDN. Você tem duas opções para configurar o balanceador de carga:
- IPs pré-alocados: aloque IPs públicos ou privados para o balanceador de carga, configure os registros DNS para mapear os FQDNs para esses IPs e forneça esses IPs como parte da seção Ingress de
input.json. - IPs alocados dinamicamente: se você não fornecer um endereço IP, o Automation Suite alocará dinamicamente IPs da sub-rede do cluster para o balanceador de carga.
Os grupos de segurança de rede no balanceador de carga devem permitir o tráfego HTTPS de clientes finais via porta 443. Por padrão, configuramos o balanceador de carga para realizar verificações regulares de integridade do TCP.
Se estiver usando seu próprio ingresso como o NGINX, certifique-se de atender aos requisitos de rede documentados em Configuração do controle de ingresso do NGINX . Ao usar o Istio que implanta um NLB, observe que ele normalmente cria três ouvintes, que incluem as portas 80, 443 e 15021. No entanto, essa é uma configuração típica, e seus requisitos reais podem diferir com base em suas circunstâncias exatas, portanto, ajuste conforme necessário.
IPs pré-alocados
Você deve fornecer as seguintes anotações de serviço na seção ingress do input.json.
Para obter uma lista de anotações de serviço no EKS, consulte a documentação do balanceador de cargas da AWS.
Para obter uma lista de anotações de serviço no AKS, consulte a documentação do balanceador de carga do Azure.
Exemplos de anotações do EKS
Os seguintes exemplos mostram como criar a seção ingress.service_annotations em input.json. Você deve implantar um controlador de balanceador de carga da AWS em seu cluster do EKS antes da instalação para que os exemplos funcionem corretamente.
O exemplo a seguir mostra como alocar IPs elásticos da AWS e provisionar um balanceador de carga público. Se você usar este exemplo como um ponto de partida para sua configuração, certifique-se de substituir os IPs por valores reais.
...
"ingress": {
"service_annotations": {
"service.beta.kubernetes.io/aws-load-balancer-backend-protocol": "ssl",
"service.beta.kubernetes.io/aws-load-balancer-eip-allocations": "<elastic_ip_id_0>,<elastic_ip_id_1>",
"service.beta.kubernetes.io/aws-load-balancer-nlb-target-type": "ip",
"service.beta.kubernetes.io/aws-load-balancer-scheme": "internet-facing",
"service.beta.kubernetes.io/aws-load-balancer-type": "nlb"
}
}
...
...
"ingress": {
"service_annotations": {
"service.beta.kubernetes.io/aws-load-balancer-backend-protocol": "ssl",
"service.beta.kubernetes.io/aws-load-balancer-eip-allocations": "<elastic_ip_id_0>,<elastic_ip_id_1>",
"service.beta.kubernetes.io/aws-load-balancer-nlb-target-type": "ip",
"service.beta.kubernetes.io/aws-load-balancer-scheme": "internet-facing",
"service.beta.kubernetes.io/aws-load-balancer-type": "nlb"
}
}
...
O exemplo a seguir mostra como alocar IPs privados para um balanceador de carga interno das sub-redes do cluster EKS. Se você usar esse exemplo como um ponto de partida para sua configuração, certifique-se de atualizar os IPs e sub-redes com valores reais.
...
"ingress": {
"service_annotations": {
"service.beta.kubernetes.io/aws-load-balancer-backend-protocol": "ssl",
"service.beta.kubernetes.io/aws-load-balancer-nlb-target-type": "ip",
"service.beta.kubernetes.io/aws-load-balancer-private-ipv4-addresses":""<IP_0>,<IP_1>"",
"service.beta.kubernetes.io/aws-load-balancer-subnets": "SUBNET_ID_0>,<SUBNET_ID_1>",
"service.beta.kubernetes.io/aws-load-balancer-scheme": "internal",
"service.beta.kubernetes.io/aws-load-balancer-type": "nlb"
"service.beta.kubernetes.io/aws-load-balancer-target-group-attributes": "preserve_client_ip.enabled=false"
}
}
...
...
"ingress": {
"service_annotations": {
"service.beta.kubernetes.io/aws-load-balancer-backend-protocol": "ssl",
"service.beta.kubernetes.io/aws-load-balancer-nlb-target-type": "ip",
"service.beta.kubernetes.io/aws-load-balancer-private-ipv4-addresses":""<IP_0>,<IP_1>"",
"service.beta.kubernetes.io/aws-load-balancer-subnets": "SUBNET_ID_0>,<SUBNET_ID_1>",
"service.beta.kubernetes.io/aws-load-balancer-scheme": "internal",
"service.beta.kubernetes.io/aws-load-balancer-type": "nlb"
"service.beta.kubernetes.io/aws-load-balancer-target-group-attributes": "preserve_client_ip.enabled=false"
}
}
...
Os IPs e sub-redes devem corresponder.
No exemplo anterior, <IP_0> está em <SUBNET_0> e <IP_1> em <SUBNET_1>.
Exemplo de anotações do AKS
O exemplo a seguir mostra como alocar IPs públicos do Azure e provisionar um balanceador de carga público. Se você usar esse exemplo como um ponto de partida para sua configuração, certifique-se de atualizar os IPs com valores reais.
...
"ingress": {
"service_annotations": {
"service.beta.kubernetes.io/azure-load-balancer-internal": "false",
"service.beta.kubernetes.io/azure-load-balancer-ipv4": "<IP>"
}
}
...
...
"ingress": {
"service_annotations": {
"service.beta.kubernetes.io/azure-load-balancer-internal": "false",
"service.beta.kubernetes.io/azure-load-balancer-ipv4": "<IP>"
}
}
...
O exemplo a seguir mostra como alocar IPs privados a um balanceador de carga interno a partir das sub-redes do cluster do AKS. Se você usar esse exemplo como ponto de partida para sua configuração, certifique-se de atualizar os IPs e sub-redes com valores reais.
...
"ingress": {
"service_annotations": {
"service.beta.kubernetes.io/azure-load-balancer-internal": "true",
"service.beta.kubernetes.io/azure-load-balancer-ipv4": "<IP>",
"service.beta.kubernetes.io/azure-load-balancer-internal-subnet": "<SUBNET>",
}
}
...
...
"ingress": {
"service_annotations": {
"service.beta.kubernetes.io/azure-load-balancer-internal": "true",
"service.beta.kubernetes.io/azure-load-balancer-ipv4": "<IP>",
"service.beta.kubernetes.io/azure-load-balancer-internal-subnet": "<SUBNET>",
}
}
...
Configuração de DNS
Certifique-se de que os registros de DNS estejam configurados para mapear os seguintes FQDNs da UiPath® para o balanceador de carga:
FQDNalm.FQDNmonitoring.FQDNinsights.FQDN(se estiver instalando o UiPath Insights)apps.FQDN(se estiver instalando o UiPath Apps)
O FQDN é uma das verificações de pré-requisitos antes da instalação. Se você não fornecer um endereço IP ou ainda não tiver feito o mapeamento de FQDN, a verificação será reprovada.
Ao usar o Route 53 para DNS, altere os registros DNS relevantes para registros Alias que aponte diretamente para o Elastic Load Balancer (ELB) criado durante a instalação. Isso garante roteamento adequado e resolução mais rápida, especialmente quando vários IPs públicos estão envolvidos durante instalações multi-AZ em ambientes da AWS.
IPs alocados dinamicamente
Se você não fornecer nenhum IP em input.json, o Automation Suite aloca dinamicamente os IPs privados das sub-redes do nó de trabalho. Nesse cenário, execute a instalação do Automation Suite da seguinte maneira.
Exemplo EKS do input.json
...
"ingress": {
"service_annotations": {
"service.beta.kubernetes.io/aws-load-balancer-backend-protocol": "ssl",
"service.beta.kubernetes.io/aws-load-balancer-nlb-target-type": "ip",
"service.beta.kubernetes.io/aws-load-balancer-scheme": "internal",
"service.beta.kubernetes.io/aws-load-balancer-type": "nlb",
"service.beta.kubernetes.io/aws-load-balancer-internal": true
}
}
...
...
"ingress": {
"service_annotations": {
"service.beta.kubernetes.io/aws-load-balancer-backend-protocol": "ssl",
"service.beta.kubernetes.io/aws-load-balancer-nlb-target-type": "ip",
"service.beta.kubernetes.io/aws-load-balancer-scheme": "internal",
"service.beta.kubernetes.io/aws-load-balancer-type": "nlb",
"service.beta.kubernetes.io/aws-load-balancer-internal": true
}
}
...
Exemplo do AKS do input.json
...
"ingress": {
"service_annotations": {
"service.beta.kubernetes.io/azure-load-balancer-internal": "true"
}
}
...
...
"ingress": {
"service_annotations": {
"service.beta.kubernetes.io/azure-load-balancer-internal": "true"
}
}
...
Passos de instalação
Nesse cenário, execute o instalador da seguinte maneira:
- Execute o instalador apenas até o provisionamento do Balanceador de carga:
uipathctl manifest apply <INPUT_JSON> --versions <VERSIONS_JSON> --override=gatewayuipathctl manifest apply <INPUT_JSON> --versions <VERSIONS_JSON> --override=gateway - Recupere o nome do host do balanceador de carga:
kubectl get svc -n <istio-system> istio-ingressgateway -o jsonpath='{.status.loadBalancer.ingress[0].hostname}'kubectl get svc -n <istio-system> istio-ingressgateway -o jsonpath='{.status.loadBalancer.ingress[0].hostname}' - Configure seu DNS com FQDNs mapeados para o endpoint ou IPs do balanceador de carga.
- Execute novamente o instalador para concluir a instalação:
uipathctl manifest apply input.json --versions versions.jsonuipathctl manifest apply input.json --versions versions.json
Observe que, sem o mapeamento de DNS, a verificação de pré-requisitos do FQDN falhará. As verificações de pré-requisitos são feitas para dar a você a confiança de que você provisionou todos os pré-requisitos corretamente antes de instalar o Automation Suite . A verificação do FQDN não impede a instalação do Automation Suite .