Esta página se aplica solo a implementaciones de Azure AKS. Para implementaciones en máquinas virtuales, consulte la guía de Instalación.
En esta guía se muestra cómo crear la infraestructura de Azure necesaria para ABBYY Vantage mediante Azure CLI y plantillas ARM. La infraestructura se crea desde el contenedor del instalador de Vantage.
Antes de comenzar, asegúrate de disponer de:
- Una suscripción a Azure con permisos para crear y administrar recursos
- Docker instalado en tu máquina local
- Acceso a internet para descargar las imágenes de contenedor
- Para una configuración de alta disponibilidad: clúster de Redis desplegado en máquinas virtuales (consulta los Requisitos del sistema)
Puedes iniciar la descarga de las imágenes de contenedor mientras se crea la infraestructura, ya que se trata de una operación prolongada.
Componentes de infraestructura
Se crearán los siguientes recursos de Azure:
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
Paso 1: Descargar la imagen del instalador
Primero, descargue la imagen del instalador de Vantage y cárguela en su registro de contenedores.
# Iniciar sesión en el registro de Docker de Vantage
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
Reemplace <username> y <password> por las credenciales proporcionadas durante la compra.
Paso 2: Ejecutar el contenedor del instalador
Inicie el contenedor del instalador. Todos los comandos posteriores en esta guía se ejecutan desde este contenedor.
docker run -it registry.yourdomain.tld/vantage/vantage-azure:2.7.1
Paso 3: Autenticarse en Azure
Dentro del contenedor, inicia sesión en tu cuenta de Azure:
# Iniciar sesión en Azure (abre el navegador para la autenticación)
az login
# Set the subscription
az account set --subscription <subscription_id>
Reemplaza <subscription_id> por el identificador de tu suscripción de Azure.
Paso 4: Crear un grupo de recursos
Cree un grupo de recursos en la región de Azure que prefiera:
az group create --location <location> --resource-group <resource_group_name>
Ejemplo:
az group create --location eastus --resource-group vantage-prod-rg
Regiones de Azure más comunes: eastus, eastus2, westus2, westeurope, northeurope
Paso 5: Crear un clúster de AKS
Vista previa del despliegue
Primero, verifica qué recursos se crearán:
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>
Los nombres de los clústeres no deben tener más 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 crea un clúster en la configuración Sin alta disponibilidad capaz de procesar 50,000 páginas en 8 horas. Para otras configuraciones, modifique la configuración del grupo de nodos usando la Guía de rendimiento después de crear el clúster.
Para implementaciones compatibles con FIPS, establezca enableFIPS=true. Consulte Cumplimiento FIPS para configuraciones adicionales.
Paso 6: Crear cuentas de almacenamiento
Vista previa de la implementación
az deployment group what-if --name storage \
--resource-group <resource_group_name> \
--template-file files/infrastructure/azure/arms/StorageAccounts.Template.json
Crear cuentas de almacenamiento
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 claves de la cuenta de almacenamiento
Obtén las claves de acceso y las claves secretas para completar la sección s3storage en env_specific.yml:
az deployment group show --name storage \
--resource-group <resource_group_name> \
--query properties.outputs -o yaml
Guarde el resultado; necesitará estos valores para el archivo de configuración env_specific.yml.
Paso 7: Crear un servidor SQL de Azure
Previsualizar la implementación
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>
Los parámetros dbAdminLogin y dbAdminPassword son las credenciales que se utilizan para acceder a las bases de datos. Guarde estos valores para la configuración en env_specific.yml.
Paso 8: Crear una base de datos de Azure SQL
Previsualizar la implementación
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>
Paso 9: Obtener el grupo de recursos de nodos
Obtenga el nombre del grupo de recursos de nodos del clúster de AKS:
az aks show --name <cluster_name> -g <resource_group_name> \
--query nodeResourceGroup -o tsv
Guarde este valor: lo utilizará para colocar la dirección IP pública en este grupo de recursos.
-
Cree una dirección IP pública de Azure (Standard Static IPv4) en el grupo de recursos del nodo del Paso 9, o mueva una dirección IP pública existente a ese grupo de recursos.
-
Anote la dirección IP para la configuración de
env_specific.yml:
loadbalancer:
external_ip: <your_public_ip_address>
-
Cree un registro DNS de tipo A que haga que su dominio apunte a esta dirección IP.
Paso 11: Instalar el controlador de la GPU (opcional)
Si tiene previsto implementar workers de GPU para entrenar skills con Deep Learning:
ansible-playbook -i inventories/azure -v \
playbooks/infrastructure/azure/02_install_gpu_driver.yml
Para conocer los requisitos de despliegue de GPU, consulta los Requisitos del sistema.
Resumen de los recursos creados
Después de completar estos pasos, dispondrás de:
| Recurso | Propósito |
|---|
| Resource Group | Contenedor para todos los recursos de Vantage |
| AKS Cluster | Clúster de Kubernetes para ejecutar Vantage |
| Services Node Pool | Ejecuta los servicios de la plataforma Vantage |
| Workers Node Pool | Ejecuta los workers de procesamiento de documentos |
| Skills Storage Account | Almacena definiciones y configuraciones de skill |
| Processing Storage Account | Almacena documentos durante el procesamiento |
| Temporary Storage Account | Almacenamiento temporal de transacciones |
| Shared Folders Storage Account | Acceso de importación/exportación a carpetas compartidas |
| Archive Storage Account | Archivo de documentos a largo plazo |
| Azure SQL Server | Servidor de base de datos |
| Azure SQL Database | Base de datos operativa de Vantage |
| Public IP Address | Acceso externo a Vantage |
Después de crear la infraestructura:
-
Configurar env_specific.yml - Complételo con los valores de esta guía. Consulte Instalación para obtener el formato de configuración completo.
-
Descargar imágenes de contenedores - Sincronice las imágenes de Vantage con su registro de contenedores.
-
Ejecutar la instalación - Complete la instalación usando los playbooks.
Continúe con Instalación para ver el proceso de instalación completo.
Error de permisos durante la implementación
Asegúrese de que su cuenta de Azure tenga los siguientes permisos:
- Acceso de Colaborador a la suscripción o al grupo de recursos
- Capacidad para crear clústeres de AKS, cuentas de almacenamiento y bases de datos SQL
Nombre del clúster demasiado largo
Los nombres de clúster no pueden superar los 15 caracteres. Utilice un nombre más corto.
El nombre de la cuenta de almacenamiento ya existe
Los nombres de las cuentas de almacenamiento de Azure deben ser globalmente únicos. La plantilla de ARM genera nombres a partir del nombre de su clúster. Si se produce un conflicto, pruebe con un nombre de clúster diferente.
No se puede establecer conexión con la base de datos SQL
Comprueba que las reglas de firewall de Azure SQL Database permitan conexiones desde las direcciones IP de salida del clúster de AKS. Es posible que tengas que agregar una regla de red virtual o permitir que los servicios de Azure se conecten.