AI Center
2020.10
falso
Imagem de fundo do banner
AI Center
Última atualização 11 de mar de 2024

1. Provisione um cluster do Azure AKS

Essa seção detalha as etapas que precisam ser adotadas ao provisionar um cluster do AKS para executar o AI Fabric em uma configuração de vários nós altamente disponível.

Observação:
  • A instalação do AI Fabric é compatível atualmente em um cluster do AKS novo e dedicado. Um cluster compartilhado com políticas/restrições desconhecidas pode precisar de uma solução de contorno adicional e não é oficialmente suportado.
  • Se seu uso do AI Fabric for muito alto e o escalonamento horizontal for necessário para ter compatibilidade com uma grande variedade de casos de uso de AI/ML em sua organização
  • É necessária uma solução altamente disponível implantada em várias zonas
  • Exige várias réplicas para os serviços básicos e de ML para a recuperação de desastres, bem como a finalidade de escalonamento
  • Cluster Kubernetes altamente disponível gerenciado pelo Azure
  • Registro do contêiner altamente disponível gerenciado pelo Azure
  • Armazenamento em nuvem altamente disponível gerenciado pelo Azure
  • Dimensionador automático de pods horizontais, ou seja, dimensiona o número de pods para serviços básicos com base na carga de trabalho
  • Dimensionador automático do cluster do Kubernetes ou seja, aumenta o número de nós no cluster do AKS com base na demanda automaticamente para os pools de nós da CPU e da GPU
  • Taints para a GPU, para assegurar que os recursos da GPU sejam usados para a finalidade desejada
  • Os certificados são provisionados e gerenciados por meio do Gerenciador de certificados

Pré-requisitos

  1. Cluster do AKS com no mínimo dois pools de nós. Pelo menos um node pool com nós do tipo GPU e taints adequados.
  2. Registro do contêiner do Azure no mesmo RG do cluster
  3. Uma conta de armazenamento no mesmo GR do cluster
  4. Uma instância do aplicativo Insights no mesmo GR do cluster
  5. SQL Server com bancos de dados criados

Visão geral das etapas da instalação

Esta seção fornece uma visão geral de alto nível das etapas; as duas próximas seções detalham esse processo.

  1. O usuário cria o cluster AKS e o registro de contêiner do Azure, uma conta de armazenamento e uma instância do Application Insights
  2. O One-Installer considerará as seguintes coisas como entrada:

    AKS Cluster name
    AKS Cluster Resource Group
    AKS Worker Resource Group
    ACR Endpoint
    ACR Name (Username)
    ACR Password
    Storage Account Name
    Storage Account Key
    Application Insights Key
    Flag to indicate whether to expose kotsadm service or not
    DNS Prefix Name for aifabricAKS Cluster name
    AKS Cluster Resource Group
    AKS Worker Resource Group
    ACR Endpoint
    ACR Name (Username)
    ACR Password
    Storage Account Name
    Storage Account Key
    Application Insights Key
    Flag to indicate whether to expose kotsadm service or not
    DNS Prefix Name for aifabric
  3. Em seguida, o cliente se conecta no shell.azure.com, define a ID da assinatura correta - usando o "az account set --subscription"
  4. O shell já deve ter o kubectl instalado.
  5. Em seguida, copie o pacote do One-Installer no shell, descompacte-o e execute bash setup.sh; os valores acima podem ser passados pela linha de comando ou, se não forem passados na linha de comando, nosso instalador os pedirá novamente.
  6. Insira "azure" na entrada da plataforma. E tudo o mais será provisionado depois disso.

Componentes a serem instalados pelo One-Installer

  • Aplicativo do KotsAdmin e do Kots no espaço de nomes do AI Fabric
  • Instalação do Istio no namespace istio-system
  • Crie contêineres na conta de armazenamento fornecida por eles (equivalentes aos buckets)
  • Aplique a política do CORS na conta de armazenamento
  • Atribua o prefixo do DNS fornecido ao IP público do gateway do Istio
  • Instale o Gerenciador de certificados no espaço de nomes cert-manager
  • Instale o Velero (no namespace velero), crie um backup e agende backups regulares.

Configuração detalhada da infraestrutura

Criação de um cluster AKS

Pule essa etapa se você já tiver o cluster do AKS instalado. A versão do Kubernetes deve ser 1.16, 1.17 ou 1.18. Outras versões não são compatíveis atualmente.

  1. Crie um grupo de recursos no Azure; você deve ter a função do Proprietário no nível do grupo de recursos.
  2. Pesquise os serviços do Kubernetes no portal e crie uma nova instância do AKS.
  3. Selecione o grupo de recursos que você criou na etapa no. 1a e dê ao cluster um nome adequado à sua escolha.
  4. Certifique-se de que sua versão do Kubernetes seja 1.16, 1.17 ou 1.18.
  5. Selecione o tamanho do nó para os nós de trabalho (tamanho mínimo recomendado: Standard_D2_v3 com três nós)
  6. Na guia Autenticação -
    • Métodos de autenticação: selecione “Identidade gerenciada atribuída pelo sistema”
  7. Na guia Rede -
    • Selecione “Configuração da rede” como “Azure CNI”
    • Selecione “Política de rede” como Azure
    • Mantenha os outros campos iguais.
  8. Na guia Integrações -
    • Se você tiver um registro de contêiner no mesmo grupo de recursos, selecione-o; ele será usado para enviar imagens docker criadas no runtime.
    • Ou selecione Criar novo > Dar um nome de registro adequado > Selecione “Usuário Admin” como Habilitar
  9. Na guia Tags, forneça tags adequadas conforme a necessidade.
  10. Clique em “Revisar + Criar” e crie o cluster.

Crie Node Pools

O AI Center precisa de no mínimo dois pools de nós para ser criado em seu cluster; um foi criado quando você criou o cluster, mas será necessário criar outro. Espera-se que um desses pools de nós seja de nós com GPUs conectadas. Identificamos se esse node pool existe ou não, usando os taints no node pool.

Verificamos esse taint nvidia.com/gpu=present:NoSchedule

Para criar um pool de nós com esse taint, é possível usar o comando abaixo (amostra)

az aks nodepool add --name gpunodepool \)\)
      --enable-cluster-autoscaler \)\)
      --resource-group ${RESOURCEGROUP} \)\)
      --cluster-name ${AKSCLUSTERNAME} \)\)
      --node-vm-size Standard_NC6 \)\)
      --node-taints nvidia.com/gpu=present:NoSchedule \)\)
      --labels accelerator=nvidia \)\)
      --node-count 0 \)\)
      --min-count 0 \)\)
      --max-count 3az aks nodepool add --name gpunodepool \)\)
      --enable-cluster-autoscaler \)\)
      --resource-group ${RESOURCEGROUP} \)\)
      --cluster-name ${AKSCLUSTERNAME} \)\)
      --node-vm-size Standard_NC6 \)\)
      --node-taints nvidia.com/gpu=present:NoSchedule \)\)
      --labels accelerator=nvidia \)\)
      --node-count 0 \)\)
      --min-count 0 \)\)
      --max-count 3

--node-vm-size é possível alterar com base no tipo de nó que você deseja usar para a GPU. Verifique aqui se há tamanhos de VM da GPU compatíveis no Azure.

Crie uma conta de armazenamento

Crie uma conta de armazenamento no mesmo grupo de recursos no qual seu cluster foi implantado. Usaremos essa conta de armazenamento para criar contêineres para armazenar os arquivos relacionados do AI Fabric.

  1. Pesquise contas de armazenamento no portal
  2. Crie uma nova conta de armazenamento.
  3. Selecione o grupo de recursos acima
  4. Dê um nome adequado à conta de armazenamento
  5. Mantenha o resto das configurações como padrão. Adicione tags e crie a conta.

Crie a instância do Application Insights

Crie uma instância do Application Insights no mesmo RG no qual o AI Fabric publicará seus logs

  1. Pesquise "Application Insights" no portal
  2. Crie uma nova instância
  3. Selecione o grupo de recursos acima
  4. Dê um nome adequado à instância
  5. No modo Recursos, selecione Clássico
  6. Adicione tags e crie.

Etapas de instalação do AI Fabric

Se seu cluster do AKS for privado, haverá etapas adicionais, que são detalhadas aqui.

Abra o shell

Após a infraestrutura acima ter sido configurada, abra shell.azure.com e defina a assinatura atual como aquela na qual seu RG está presente, usando o seguinte comando:

az account set --subscription <subscription-id>
az extension add --name application-insightsaz account set --subscription <subscription-id>
az extension add --name application-insights

Baixe o instalador

A primeira etapa é baixar o arquivo zip do instalador aqui e movê-lo para o servidor do AI Center. Alternativamente, é possível baixá-lo diretamente da máquina usando o seguinte comando

wget https://download.uipath.com/aifabric/online-installer/v2020.10.2/aifabric-installer-v20.10.2.tar.gzwget https://download.uipath.com/aifabric/online-installer/v2020.10.2/aifabric-installer-v20.10.2.tar.gz

Em seguida, descompacte o arquivo e vá dentro da pasta principal usando o seguinte comando:

tar -xvf aifabric-installer-v20.10.2.tar.gz
cd ./aifabric-installer-v20.10.2tar -xvf aifabric-installer-v20.10.2.tar.gz
cd ./aifabric-installer-v20.10.2

Execute a configuração

Em seguida, execute o setup.sh usando o seguinte comando

bash setup.sh --resourceGroup <YOUR RESOURCE GROUP> --clusterName <YOUR CLUSTER NAME> --exposeKots n --acrHost <YOUR CONTAINER REGISTRY> --acrUser <YOUR CR USERNAME> --acrKey <YOUR CR KEY> --workerResourcegroup <YOUR WORKER RG> --dnsPrefix aicapp --storageAccountName <YOUR STORAGE ACCOUNT> --storageAccountAccessKey <YOUR STORAGE ACCOUNT ACCESS KEY> --appInsightsKey <YOUR ACCESS KEY> --platform azure --email <YOUR EMAIL>bash setup.sh --resourceGroup <YOUR RESOURCE GROUP> --clusterName <YOUR CLUSTER NAME> --exposeKots n --acrHost <YOUR CONTAINER REGISTRY> --acrUser <YOUR CR USERNAME> --acrKey <YOUR CR KEY> --workerResourcegroup <YOUR WORKER RG> --dnsPrefix aicapp --storageAccountName <YOUR STORAGE ACCOUNT> --storageAccountAccessKey <YOUR STORAGE ACCOUNT ACCESS KEY> --appInsightsKey <YOUR ACCESS KEY> --platform azure --email <YOUR EMAIL>

Substitua os valores correspondentes de acordo com sua configuração, conforme explicado abaixo.

Os parâmetros no comando acima são como abaixo (se não forem passados no comando, o instalador os pedirá novamente):

platform → azure

resourceGroup → Grupo de recursos no qual criamos o cluster e outros recursos

workerResourcegroup → O AKS cria outro grupo de recursos junto com seu cluster para manter a carga de trabalho do cluster; forneça esse nome. Pesquise com seu nome do grupo de recursos original no portal e você também receberá o outro nome do GR; geralmente esse nome será semelhante ao MC_<rg-name><cluster-name><region>



clusterName → Nome do cluster do AKS

exposeKots → Se o KotsAdmin deve ser exposto na internet ou não. (s/n)

acrHost → Acesse o registro do contêiner selecionado no AKS e obtenha o nome do servidor conforme abaixo



acrUser → Esse é o nome do registro que foi criado.

acrKey → Vá para Chaves de Acesso na página ACR e forneça qualquer uma das senhas de lá



dnsPrefix → Prefixo do DNS a ser usado para o AI Fabric Ingress (como aifabric, aim-app, qualquer coisa que você desejar)

storageAccountName → Nome da conta de armazenamento que foi criada no mesmo grupo de recursos na etapa no. 3

storageAccountAccessKey → Acesse a página da conta de armazenamento → Chaves de acesso. Clique em "Mostrar chaves" e copie qualquer uma das chaves (key1 ou key2) e passe-a.



appInsightsKey → Chave do Application Insights para a que foi criada. (Chave de instrumentação a partir de captura de tela abaixo)



e-mail → ID de e-mail para ser usado para notificar os detalhes de validade do certificado

Importante:

A instalação pode falhar, com o erro não encontrado do Application Insights pela primeira vez; a reexecução deve ser bem-sucedida, ou é possível instalar a extensão az usando esse comando e reexecutando a instalação

az extension add --name application-insights

Cluster privado do AKS

Se seu cluster AKS for privado, há algumas diferenças com o processo de instalação acima.

  1. Crie uma VM Ubuntu na mesma rede do cluster AKS
  2. Instale as ferramentas de linha de comando kubectl, az, helm e jq nela.
  3. Haverá um cliente do Azure com o mesmo nome de seu cluster do AKS; vá pedir o vnet do cluster e, em Políticas de acesso, adicione esse cliente como Contribuinte (isso é necessário para a criação do balanceador de carga privado)
  4. Conecte-se no Azure e defina o ID da assinatura correta como o do cluster do AKS
    az login
    az account set --subscription <subscription-id>az login
    az account set --subscription <subscription-id>
  5. No comando setup.sh do bash, você terá que passar outro parâmetro: --isPrivate y
  6. O Istio e o KotsAdmin serão expostos em endereços IP do balanceador de carga privado.
  7. A flag expose_kots será ignorada neste caso, e um balanceador de carga interno será atribuído ao serviço kotsadmin
  8. Como endereços IP privados não podem ter nomes de DNS públicos, criamos um certificado autoassinado para o Istio.
  9. Na página do KotsAdmin, o host do Ingress será o IP privado do Istio a partir da saída do One-Installer. É possível verificar isso a qualquer momento executando e recebendo o endereço IP externo -
    kubectl -n istio-system get svc istio-ingressgatewaykubectl -n istio-system get svc istio-ingressgateway
  10. É possível usar o AI Fabric em https://<istio-private-ip>ai-app a partir da rede privada onde quer que o AKS VNET esteja acessível.
  11. Se você quiser expor isso à internet, será necessário redirecionar o tráfego do gateway voltado para o público para esse IP interno na porta 443.
  • Crie um gateway voltado para o público
  • Configure o gateway para enviar o tráfego da porta 443 para <istio-private-ip>:443
  • Use o IP público do gateway ou uma entrada DNS apontando para esse gateway como host do Ingress no KotsAdmin
  • A configuração do gateway requer detalhes dos certificados do TLS para se conectar ao servidor do back-end; se você quiser atualizar seus próprios certificados para o AI Fabric, poderá carregá-los a partir do KotsAdmin -


  • Além disso, se seu gateway exigir a verificação de integridade, é possível usar a URL /ai-deployer/actuator/health.

Explicações detalhadas sobre como configurar o gateway do Azure

  1. Crie uma instância do gateway do aplicativo do Azure vinculada ao mesmo vnet do AKS ou algum vnet que esteja emparelhado com o vnet do AKS
  2. Crie uma entrada dos pools do back-end com o IP privado do balanceador de carga do Istio
  3. Crie a entrada de configurações https com a porta 443; se você for usar certificados autoassinados, siga a documentação https://docs.microsoft.com/en-us/azure/application-gateway/self-signed-certificates para criar certificados da CA e do servidor autoassinados (ao gerar certificados do servidor, no campo de nome comum, insira o LB do Istio) e, também, na configuração do nome do host, selecione "Substituir por nome de domínio específico" e coloque o IP do Istio LB


  4. Carregue o certificado da CA no campo Certificado raiz confiável.
  5. Carregue os certificados do servidor criados acima no KotsAdmin, use o IP público do gateway e acione uma implantação do KotsAdmin.
  6. Gere um arquivo pfx a partir do certificado do servidor e da chave criada acima, como -openssl pkcs12 -export -out contoso.pfx -inkey fabrikam.key -in fabrikam.crt.
  7. Crie uma entrada do ouvinte no gateway com a porta 443 e carregue esse arquivo pfx ali.
  8. Crie uma regra no gateway, selecionando o ouvinte acima, configuração http e alvo do back-end.
  9. Crie uma entrada de investigação de integridade com https e coloque o host como endereço IP do balanceador de carga do Istio. Coloque esse /ai-deployer/actuator/health como caminho e selecione a configuração http acima criada na etapa 3.


Provisionamento da infraestrutura

RequisitoObservação
Grupo de recursos do Azure com acesso do proprietário 
Certifique-se de que você tenha vCPUs suficientes disponíveis onde você criou seu grupo de recursos O número mínimo de vCPUs disponíveis deve ser 16. Execute esse comando para verificar o que está disponível para você na região que hospeda seu grupo de recursos: az vm list-skus --location westeurope --output table | grep virtualMachines.
Certifique-se de que você tenha os tipos de máquinas apropriados disponíveis na região na qual você criou seu grupo de recursos Por padrão, essas máquinas são Standard_D8s_v3 & Standard_NC6. Execute esse comando para verificar o que está disponível para você na região que hospeda seu grupo de recursos: az vm list-skus --location westeurope --output table | grep virtualMachines
Certifique-se de adicionar tags obrigatóriasConfirme se você sabe que há tags obrigatórias que são necessárias para marcar os recursos no momento do provisionamento na assinatura do Azure de sua empresa.
Baixe o script de provisionamento da infraestrutura

Baixe a pasta aks-arm.zip do repositório da UiPath ai-customer-scripts, ou seja, a partir desse local, https://github.com/UiPath/ai-customer-scripts/blob/master/platform/aks/aks-arm.zip



Requisitos antes de prosseguir

RequisitoObservação
Instalação do Orchestrator 20.10 operacionalReferência aqui
SQL Server 2008 R2 ou superiorReferência aqui
A autenticação do SQL Server deve estar habilitada Entre em contato com seu administrador do SQL Server.
Credenciais do SQL que permitem a criação do banco de dados e de funções. Entre em contato com seu administrador do SQL Server.
Ter um navegador compatívelReferência
O disco de inicialização precisa ter pelo menos 200 GBReferência aqui
Em nós de trabalho, o(s) disco(s) secundário(s) de pelo menos 500 GB em conjunto precisa(m) ser não formatado(s)Referência aqui
Conecte-se ao Orchestrator a partir do nó mestre do AI Fabric. Deve ser capaz de se conectar por meio do nome de domínio. telnet <Orchestrator-Domain-Name> <port> do nó AI Fabric UCP deve funcionar.
Conecte-se ao banco de dados a partir do nó mestre do AI Fabric.telnet <SQL-Server-IP> <port> do nó AI Fabric UCP deve funcionar.
Conecte-se a partir de máquinas do Robot/Studio ao nó mestre do AI Fabric. telnet <UCP-Host-IP> 33443 e telnet <UCP-Host-IP> 33390 de robôs/máquinas de estúdio devem funcionar. Ou seja, a máquina robô/estúdio será cliente do servidor nas portas 33443 e 33390.
Conecte-se aos endpoints dos quais o instalador necessita a partir da máquina do AI Fabric. A máquina do AI Fabric não deve ter bloqueado o acesso de saída para os endpoints
Certificado de domínio (para a máquina do AI Fabric) a partir de uma autoridade de CA confiável. Referência aqui
Arquivo de licença do AI Fabric.Referência aqui

Was this page helpful?

Obtenha a ajuda que você precisa
Aprendendo RPA - Cursos de automação
Fórum da comunidade da Uipath
Logotipo branco da Uipath
Confiança e segurança
© 2005-2024 UiPath. All rights reserved.