Vai al contenuto principale
Questa pagina si applica solo alle distribuzioni su Azure AKS. Per le distribuzioni su macchine virtuali, consultare la guida di Installazione.

Panoramica

Questa guida illustra come creare l’infrastruttura Azure richiesta per ABBYY Vantage utilizzando Azure CLI e i modelli ARM. L’infrastruttura viene creata dal contenitore del programma di installazione di Vantage.

Prerequisiti

Prima di iniziare, assicurati di disporre di:
  • Una sottoscrizione ad Azure con le autorizzazioni per creare e gestire le risorse
  • Docker installato sul tuo computer locale
  • Accesso a Internet per scaricare le immagini dei container
  • Per la configurazione ad alta disponibilità: cluster Redis distribuito su VM (vedi Requisiti di sistema)
Puoi iniziare a scaricare le immagini dei container mentre crei l’infrastruttura, poiché l’operazione può richiedere molto tempo.

Componenti dell’infrastruttura

Verranno create le seguenti risorse di 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

Passaggio 1: Scarica l’immagine dell’installer

Per prima cosa, scarica l’immagine dell’installer di Vantage e pubblicala nel tuo registro dei container.
# Accedi al registro Docker di 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
Sostituisci <username> e <password> con le credenziali ricevute al momento dell’acquisto.

Passaggio 2: Esegui il container di installazione

Avvia il container di installazione. Tutti i comandi successivi in questa guida verranno eseguiti all’interno di questo container.
docker run -it registry.yourdomain.tld/vantage/vantage-azure:2.7.1

Passaggio 3: Autenticazione in Azure

All’interno del container, accedi al tuo account Azure:
# Accedi ad Azure (apre il browser per l'autenticazione)
az login

# Set the subscription
az account set --subscription <subscription_id>
Sostituisci <subscription_id> con l’ID della sottoscrizione di Azure.

Passaggio 4: Crea il gruppo di risorse

Crea un gruppo di risorse nell’area di Azure desiderata:
az group create --location <location> --resource-group <resource_group_name>
Esempio:
az group create --location eastus --resource-group vantage-prod-rg
Aree di Azure più comuni: eastus, eastus2, westus2, westeurope, northeurope

Passaggio 5: Crea il cluster AKS

Visualizza l’anteprima della distribuzione

Innanzitutto, verifica quali risorse verranno create:
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>
I nomi dei cluster non possono superare i 15 caratteri.

Crea il cluster

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
Questo comando crea un cluster con la configurazione Without high availability, in grado di elaborare 50.000 pagine ogni 8 ore. Per altre configurazioni, modifica le impostazioni del pool di nodi utilizzando la Guida alle prestazioni dopo la creazione del cluster.
Per le distribuzioni conformi a FIPS, imposta enableFIPS=true. Consulta Conformità FIPS per ulteriori informazioni sulla configurazione.

Passaggio 6: Crea gli account di archiviazione

Visualizzare l’anteprima della distribuzione

az deployment group what-if --name storage \
  --resource-group <resource_group_name> \
  --template-file files/infrastructure/azure/arms/StorageAccounts.Template.json

Creare account di archiviazione

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

Recuperare le chiavi dell’account di archiviazione

Recupera le chiavi di accesso e le chiavi segrete per compilare la sezione s3storage in env_specific.yml:
az deployment group show --name storage \
  --resource-group <resource_group_name> \
  --query properties.outputs -o yaml
Salva l’output: ti serviranno questi valori per il file di configurazione env_specific.yml.

Passaggio 7: Crea un server SQL di Azure

Visualizza l’anteprima della distribuzione

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>

Creare il server SQL

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>
I Parameter dbAdminLogin e dbAdminPassword sono le credenziali utilizzate per accedere ai database. Conservale per la configurazione env_specific.yml.

Passaggio 8: Creare un database SQL di Azure

Visualizzare l’anteprima della distribuzione

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>

Creare il database

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>

Passaggio 9: Ottieni il gruppo di risorse dei nodi

Recupera il nome del gruppo di risorse dei nodi del cluster AKS:
az aks show --name <cluster_name> -g <resource_group_name> \
  --query nodeResourceGroup -o tsv
Salva questo valore: in questo gruppo di risorse verrà inserito l’indirizzo IP pubblico.

Passaggio 10: Configurare l’indirizzo IP pubblico

  1. Crea un indirizzo IP pubblico di Azure (Standard Static IPv4) nel gruppo di risorse del nodo creato al passaggio 9 oppure sposta un indirizzo IP pubblico esistente in quel gruppo di risorse.
  2. Prendi nota dell’indirizzo IP per la configurazione di env_specific.yml:
    loadbalancer:
      external_ip: <your_public_ip_address>
    
  3. Crea un record DNS di tipo A che associ il tuo dominio a questo indirizzo IP.

Passaggio 11: Installare il driver della GPU (opzionale)

Se prevedi di distribuire worker GPU per addestrare skill basate su Deep Learning:
ansible-playbook -i inventories/azure -v \
  playbooks/infrastructure/azure/02_install_gpu_driver.yml
Per i requisiti di distribuzione su GPU, vedere Requisiti di sistema.

Riepilogo delle risorse create

Al termine di questi passaggi, avrai:
RisorsaScopo
Resource GroupContenitore per tutte le risorse di Vantage
AKS ClusterCluster Kubernetes per l’esecuzione di Vantage
Services Node PoolEsegue i servizi della piattaforma Vantage
Workers Node PoolEsegue i worker di elaborazione dei documenti
Skills Storage AccountArchivia le definizioni e le configurazioni delle skill
Processing Storage AccountArchivia i documenti durante l’elaborazione
Temporary Storage AccountSpazio di archiviazione temporaneo per le transazioni
Shared Folders Storage AccountAccesso alle cartelle condivise per import/export
Archive Storage AccountArchivio dei documenti a lungo termine
Azure SQL ServerServer di database
Azure SQL DatabaseDatabase operativo di Vantage
Public IP AddressAccesso esterno a Vantage

Passaggi successivi

Dopo aver creato l’infrastruttura:
  1. Configura env_specific.yml - Compilalo con i valori riportati in questa guida. Consulta Installation per il formato completo della configurazione.
  2. Scarica le immagini dei container - Sincronizza le immagini Vantage con il tuo registro di container.
  3. Esegui l’installazione - Completa l’installazione utilizzando i playbook.
Prosegui con Installation per la procedura di installazione completa.

Risoluzione dei problemi

Distribuzione non riuscita a causa di un errore di autorizzazione

Assicurati che l’account Azure disponga delle seguenti autorizzazioni:
  • Ruolo di Collaboratore (Contributor) sulla sottoscrizione o sul gruppo di risorse
  • Possibilità di creare cluster AKS, account di archiviazione e database SQL

Nome del cluster troppo lungo

I nomi dei cluster devono avere al massimo 15 caratteri. Usa un nome più breve.

Il nome dell’account di archiviazione esiste già

I nomi degli account di archiviazione di Azure devono essere univoci a livello globale. Il modello ARM genera i nomi a partire dal nome del cluster. In caso di conflitto, provare a usare un nome di cluster diverso.

Impossibile connettersi al database SQL

Assicurati che le regole del firewall di Azure SQL Database consentano le connessioni dagli indirizzi IP in uscita del cluster AKS. Potrebbe essere necessario aggiungere una regola di rete virtuale o consentire i servizi di Azure.