Passer au contenu principal
Cette page s’applique uniquement aux déploiements sur Azure AKS. Pour les déploiements sur des machines virtuelles, consultez le guide Installation.

Vue d’ensemble

Ce guide vous explique comment créer l’infrastructure Azure nécessaire pour ABBYY Vantage à l’aide d’Azure CLI et de modèles ARM. L’infrastructure est créée à partir du conteneur d’installation de Vantage.

Prérequis

Avant de commencer, assurez-vous de disposer des éléments suivants :
  • Un abonnement Azure avec les autorisations nécessaires pour créer et gérer des ressources
  • Docker installé sur votre machine locale
  • Un accès à Internet pour télécharger les images de conteneur
  • Pour une configuration à haute disponibilité : un cluster Redis déployé sur des machines virtuelles (voir Configuration système requise)
Vous pouvez commencer à télécharger les images de conteneur pendant la création de l’infrastructure, car il s’agit d’une opération relativement longue.

Composants d’infrastructure

Les ressources Azure suivantes seront créées :
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

Étape 1 : Télécharger l’image de l’installateur

Commencez par télécharger l’image de l’installateur Vantage et à la transférer vers votre registre de conteneurs.
# Connexion au registre 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
Remplacez <username> et <password> par les identifiants qui vous ont été fournis lors de l’achat.

Étape 2 : Exécuter le conteneur d’installation

Démarrez le conteneur d’installation. Toutes les commandes ultérieures de ce guide sont exécutées à partir de ce conteneur.
docker run -it registry.yourdomain.tld/vantage/vantage-azure:2.7.1

Étape 3 : Authentifiez-vous auprès d’Azure

Depuis le conteneur, connectez-vous à votre compte Azure :
# Connexion à Azure (ouvre le navigateur pour l'authentification)
az login

# Définir l'abonnement
az account set --subscription <subscription_id>
Remplacez la valeur <subscription_id> par l’ID de votre abonnement Azure.

Étape 4 : Créez un groupe de ressources

Créez un groupe de ressources dans la région Azure de votre choix :
az group create --location <location> --resource-group <resource_group_name>
Exemple :
az group create --location eastus --resource-group vantage-prod-rg
Régions Azure fréquemment utilisées : eastus, eastus2, westus2, westeurope, northeurope

Étape 5 : Créer le cluster AKS

Afficher un aperçu du déploiement

Commencez par vérifier les ressources qui seront créées :
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>
Les noms de clusters ne doivent pas comporter plus de 15 caractères.

Créer le 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
Cette commande crée un cluster avec la configuration Sans haute disponibilité, capable de traiter 50 000 pages en 8 heures. Pour d’autres configurations, modifiez les paramètres du pool de nœuds à l’aide du Guide des performances après la création du cluster.
Pour les déploiements conformes à FIPS, définissez enableFIPS=true. Consultez Conformité FIPS pour plus d’informations sur la configuration.

Étape 6 : Créez des comptes de stockage

Afficher un aperçu du déploiement

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

Créer des comptes de stockage

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

Récupérer les clés du compte de stockage

Obtenez les clés d’accès et les clés secrètes de votre compte de stockage pour renseigner la section s3storage dans env_specific.yml :
az deployment group show --name storage \
  --resource-group <resource_group_name> \
  --query properties.outputs -o yaml
Enregistrez ces valeurs : vous en aurez besoin pour le fichier de configuration env_specific.yml.

Étape 7 : Créer un serveur Azure SQL

Afficher un aperçu du déploiement

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>

Créer un serveur 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>
Les Parameters dbAdminLogin et dbAdminPassword sont les identifiants utilisés pour accéder aux bases de données. Conservez ces valeurs pour la configuration env_specific.yml.

Étape 8 : Création d’une base de données Azure SQL

Afficher un aperçu du déploiement

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>

Créer une base de données

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>

Étape 9 : Obtenir le groupe de ressources de nœud

Récupérez le nom du groupe de ressources de nœud pour le cluster AKS :
az aks show --name <cluster_name> -g <resource_group_name> \
  --query nodeResourceGroup -o tsv
Conservez cette valeur : vous utiliserez ce groupe de ressources pour y placer l’adresse IP publique.

Étape 10 : Configurer l’adresse IP publique

  1. Créez une adresse IP publique Azure (Standard Static IPv4) dans le groupe de ressources du nœud de l’étape 9, ou déplacez une adresse IP publique existante dans ce groupe de ressources.
  2. Relevez l’adresse IP pour la configuration env_specific.yml :
    loadbalancer:
      external_ip: <your_public_ip_address>
    
  3. Créez un enregistrement DNS de type A pointant votre domaine vers cette adresse IP.

Étape 11 : Installer le pilote GPU (facultatif)

Si vous prévoyez de déployer des workers GPU pour entraîner des Skills avec le Deep Learning :
ansible-playbook -i inventories/azure -v \
  playbooks/infrastructure/azure/02_install_gpu_driver.yml
Pour connaître les exigences relatives au déploiement sur GPU, consultez System Requirements.

Récapitulatif des ressources créées

Après avoir terminé ces étapes, vous aurez :
RessourceObjectif
Resource GroupConteneur pour toutes les ressources Vantage
AKS ClusterCluster Kubernetes pour exécuter Vantage
Services Node PoolPool de nœuds exécutant les services de la plateforme Vantage
Workers Node PoolPool de nœuds exécutant les workers de traitement de documents
Skills Storage AccountStocke les définitions et configurations de Skills
Processing Storage AccountStocke les documents pendant le traitement
Temporary Storage AccountStockage temporaire des transactions
Shared Folders Storage AccountAccès aux dossiers partagés pour l’import/export
Archive Storage AccountArchivage à long terme des documents
Azure SQL ServerServeur de base de données
Azure SQL DatabaseBase de données opérationnelle de Vantage
Public IP AddressAccès externe à Vantage

Étapes suivantes

Après avoir créé l’infrastructure :
  1. Configurer env_specific.yml - Remplissez-le avec les valeurs indiquées dans ce guide. Voir Installation pour le format de configuration complet.
  2. Télécharger les images de conteneurs - Synchronisez les images Vantage avec votre registre de conteneurs.
  3. Exécuter l’installation - Terminez l’installation à l’aide des playbooks.
Poursuivez vers Installation pour la procédure d’installation complète.

Résolution des problèmes

Échec du déploiement en raison d’une erreur d’autorisation

Assurez-vous que votre compte Azure dispose des autorisations suivantes :
  • Rôle Collaborateur sur l’abonnement ou le groupe de ressources
  • Possibilité de créer des clusters AKS, des comptes de stockage et des bases de données SQL

Nom de cluster trop long

Les noms de clusters doivent comporter au maximum 15 caractères. Utilisez un nom plus court.

Le nom du compte de stockage existe déjà

Les noms de compte de stockage Azure doivent être uniques au niveau global. Le modèle ARM génère des noms à partir du nom de votre cluster. En cas de conflit, essayez un autre nom de cluster.

Impossible de se connecter à la base de données SQL

Assurez-vous que les règles de pare-feu de la base de données Azure SQL autorisent les connexions à partir des adresses IP de sortie du cluster AKS. Vous devrez peut-être ajouter une règle de réseau virtuel ou autoriser les services Azure.