Questa pagina si applica solo alle distribuzioni su Azure AKS. Per le distribuzioni su macchine virtuali, consultare la guida di Installazione.
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.
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.
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>
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>
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.
-
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.
-
Prendi nota dell’indirizzo IP per la configurazione di
env_specific.yml:
loadbalancer:
external_ip: <your_public_ip_address>
-
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:
| Risorsa | Scopo |
|---|
| Resource Group | Contenitore per tutte le risorse di Vantage |
| AKS Cluster | Cluster Kubernetes per l’esecuzione di Vantage |
| Services Node Pool | Esegue i servizi della piattaforma Vantage |
| Workers Node Pool | Esegue i worker di elaborazione dei documenti |
| Skills Storage Account | Archivia le definizioni e le configurazioni delle skill |
| Processing Storage Account | Archivia i documenti durante l’elaborazione |
| Temporary Storage Account | Spazio di archiviazione temporaneo per le transazioni |
| Shared Folders Storage Account | Accesso alle cartelle condivise per import/export |
| Archive Storage Account | Archivio dei documenti a lungo termine |
| Azure SQL Server | Server di database |
| Azure SQL Database | Database operativo di Vantage |
| Public IP Address | Accesso esterno a Vantage |
Dopo aver creato l’infrastruttura:
-
Configura env_specific.yml - Compilalo con i valori riportati in questa guida. Consulta Installation per il formato completo della configurazione.
-
Scarica le immagini dei container - Sincronizza le immagini Vantage con il tuo registro di container.
-
Esegui l’installazione - Completa l’installazione utilizzando i playbook.
Prosegui con Installation per la procedura di installazione completa.
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.