Esta página se aplica somente a implantações em Azure AKS. Para implantações em máquinas virtuais, consulte o guia de Instalação.
Este guia orienta você na criação da infraestrutura necessária no Azure para o ABBYY Vantage, usando a CLI do Azure e modelos ARM. A infraestrutura é criada de dentro do contêiner do instalador do ABBYY Vantage.
Antes de começar, verifique se você possui:
- Uma assinatura do Azure com permissões para criar e gerenciar recursos
- Docker instalado na sua máquina local
- Acesso à internet para baixar as imagens de contêiner
- Para configuração com alta disponibilidade: um cluster do Redis implantado em VMs (consulte Requisitos do sistema)
Você pode começar a baixar as imagens de contêiner enquanto cria a infraestrutura, pois essa é uma operação demorada.
Componentes de infraestrutura
Os seguintes recursos do Azure serão criados:
Azure Subscription
└── Resource Group
├── AKS Cluster
│ ├── Services Node Pool (Standard_D8as_v5)
│ └── Workers Node Pool (Standard_D16as_v5)
├── Storage Accounts (5)
│ ├── Skills (Premium/Hot)
│ ├── Processing (Standard/Hot)
│ ├── Temporary (Standard/Hot)
│ ├── Shared Folders (Premium FileStorage)
│ └── Archive (Standard/Cool)
├── Azure SQL Server
│ └── Elastic Pool Database
└── Public IP Address
Etapa 1: Baixar a imagem do instalador
Primeiro, baixe a imagem de instalação do Vantage e faça o push para o seu registro de contêineres.
# Login to Vantage Docker registry
docker login abyvtgonprm27.azurecr.io -u <username> -p <password>
# Pull the installer image
docker pull abyvtgonprm27.azurecr.io/vantage-azure:2.7.1
# Tag for your registry
docker tag abyvtgonprm27.azurecr.io/vantage-azure:2.7.1 \
registry.yourdomain.tld/vantage/vantage-azure:2.7.1
# Push to your registry
docker push registry.yourdomain.tld/vantage/vantage-azure:2.7.1
Substitua <username> e <password> pelas credenciais fornecidas durante a compra.
Etapa 2: Executar o contêiner do instalador
Inicie o contêiner do instalador. Todos os comandos subsequentes neste guia serão executados de dentro deste contêiner.
docker run -it registry.yourdomain.tld/vantage/vantage-azure:2.7.1
Etapa 3: Autentique-se no Azure
Dentro do contêiner, faça login na sua conta do Azure:
# Login no Azure (abre o navegador para autenticação)
az login
# Set the subscription
az account set --subscription <subscription_id>
Substitua <subscription_id> pelo ID da sua assinatura do Azure.
Etapa 4: Criar grupo de recursos
Crie um grupo de recursos na região do Azure desejada:
az group create --location <location> --resource-group <resource_group_name>
Exemplo:
az group create --location eastus --resource-group vantage-prod-rg
Regiões do Azure mais comuns: eastus, eastus2, westus2, westeurope, northeurope
Etapa 5: Criar um cluster AKS
Pré-visualizar a implantação
Primeiro, confira quais recursos serão criados:
az deployment group what-if --name aks-cluster \
--resource-group <resource_group_name> \
--template-file files/infrastructure/azure/arms/Cluster.Manual.json \
--parameters kubernetesClusterName=<cluster_name>
Os nomes dos clusters não podem ter mais de 15 caracteres.
az deployment group create --name aks-cluster \
--resource-group <resource_group_name> \
--template-file files/infrastructure/azure/arms/Cluster.Manual.json \
--parameters kubernetesClusterName=<cluster_name> \
--parameters enableFIPS=false
Este comando cria um cluster na configuração Sem alta disponibilidade, capaz de processar 50.000 páginas a cada 8 horas. Para outras configurações, modifique as configurações do pool de nós usando o Guia de desempenho após a criação do cluster.
Para implantações em conformidade com o FIPS, defina enableFIPS=true. Consulte Conformidade com o FIPS para configurações adicionais.
Etapa 6: Criar contas de armazenamento
Visualizar a implantação
az deployment group what-if --name storage \
--resource-group <resource_group_name> \
--template-file files/infrastructure/azure/arms/StorageAccounts.Template.json
Crie contas de armazenamento
az deployment group create --name storage \
--resource-group <resource_group_name> \
--template-file files/infrastructure/azure/arms/StorageAccounts.Template.json \
--parameters kubernetesClusterName=<cluster_name> \
--parameters enableFIPS=false
Recuperar chaves da conta de armazenamento
Obtenha as chaves de acesso e as chaves secretas para preencher a seção s3storage em env_specific.yml:
az deployment group show --name storage \
--resource-group <resource_group_name> \
--query properties.outputs -o yaml
Salve o resultado; você precisará desses valores para o arquivo de configuração env_specific.yml.
Etapa 7: Criar o servidor SQL do Azure
Visualizar a implantação
az deployment group what-if --name dbservers \
--resource-group <resource_group_name> \
--template-file files/infrastructure/azure/arms/Databases/DB.Server.Template.json \
--parameters serverBaseName=<cluster_name> \
--parameters dbAdminLogin=<db_username> \
--parameters dbAdminPassword=<db_password>
az deployment group create --name dbservers \
--resource-group <resource_group_name> \
--template-file files/infrastructure/azure/arms/Databases/DB.Server.Template.json \
--parameters serverBaseName=<cluster_name> \
--parameters dbAdminLogin=<db_username> \
--parameters dbAdminPassword=<db_password>
Os Parameters dbAdminLogin e dbAdminPassword são as credenciais usadas para acessar os bancos de dados. Guarde-os para a configuração env_specific.yml.
Etapa 8: Criar banco de dados SQL do Azure
Visualizar a implantação
az deployment group what-if --name databases \
--resource-group <resource_group_name> \
--template-file files/infrastructure/azure/arms/Databases/SQL.Databases.Template.json \
--parameters serverBaseName=<cluster_name>
az deployment group create --name databases \
--resource-group <resource_group_name> \
--template-file files/infrastructure/azure/arms/Databases/SQL.Databases.Template.json \
--parameters serverBaseName=<cluster_name>
Etapa 9: Obter o grupo de recursos de nós
Recupere o nome do grupo de recursos de nós do cluster AKS:
az aks show --name <cluster_name> -g <resource_group_name> \
--query nodeResourceGroup -o tsv
Guarde esse valor — você alocará o endereço IP público neste grupo de recursos.
-
Crie um endereço IP público do Azure (IPv4 estático Standard) no grupo de recursos do nó da etapa 9 ou mova um endereço IP público existente para esse grupo de recursos.
-
Anote o endereço IP para a configuração do
env_specific.yml:
loadbalancer:
external_ip: <your_public_ip_address>
-
Crie um registro DNS do tipo A apontando seu domínio para esse endereço IP.
Etapa 11: Instalar o driver da GPU (opcional)
Se você pretende implantar workers de GPU para treinar skills com Deep Learning:
ansible-playbook -i inventories/azure -v \
playbooks/infrastructure/azure/02_install_gpu_driver.yml
Para saber os requisitos de implantação com GPU, consulte Requisitos de sistema.
Resumo dos recursos criados
Após concluir estas etapas, você terá:
| Recurso | Finalidade |
|---|
| Resource Group | Contêiner para todos os recursos do Vantage |
| AKS Cluster | Cluster do Kubernetes para executar o Vantage |
| Services Node Pool | Executa serviços da plataforma Vantage |
| Workers Node Pool | Executa workers de processamento de documentos |
| Skills Storage Account | Armazena definições e configurações de skills |
| Processing Storage Account | Armazena documentos durante o processamento |
| Temporary Storage Account | Armazenamento temporário de transações |
| Shared Folders Storage Account | Acesso a pastas compartilhadas para importação/exportação |
| Archive Storage Account | Arquivo de documentos de longo prazo |
| Azure SQL Server | Servidor de banco de dados |
| Azure SQL Database | Banco de dados operacional do Vantage |
| Public IP Address | Acesso externo ao Vantage |
Depois de criar a infraestrutura:
-
Configurar env_specific.yml - Preencha-o com os valores deste guia. Consulte Instalação para obter o formato completo de configuração.
-
Baixar imagens de contêiner - Sincronize as imagens do Vantage com o seu registro de contêineres.
-
Executar a instalação - Conclua a instalação usando os playbooks.
Continue em Instalação para conferir o processo completo de instalação.
Verifique se sua conta do Azure possui as seguintes permissões:
- Função de Colaborador na assinatura ou no grupo de recursos
- Permissão para criar clusters AKS, contas de armazenamento e bancos de dados SQL
Nome do cluster muito longo
Os nomes de cluster devem ter no máximo 15 caracteres. Use um nome mais curto.
Nome da conta de Armazenamento do Azure já existe
Os nomes das contas de Armazenamento do Azure devem ser globalmente exclusivos. O modelo ARM gera nomes com base no nome do seu cluster. Se houver conflito, tente usar um nome de cluster diferente.
Não é possível conectar ao banco de dados SQL
Certifique-se de que as regras de firewall do Azure SQL Database permitam conexões a partir dos endereços IP de saída do cluster AKS. Talvez seja necessário adicionar uma regra de rede virtual ou habilitar os serviços do Azure.