Passer au contenu principal

Vue d’ensemble de l’installation

Pour installer Vantage, procédez comme suit :
  1. Préparer les ressources.
  2. Indiquer les informations d’identification des ressources.
  3. Exécuter les scripts d’installation.

Préparation des ressources

Avant de commencer, vérifiez que tous les prérequis indiqués dans la section Configuration système requise sont remplis.

Définition des informations d’identification des ressources

Avant d’exécuter le programme d’installation :
  1. Configurez les fichiers de configuration.
  2. Préparez les certificats.
  3. Téléchargez les images de conteneurs.

Configuration des fichiers de configuration

1. Créez le répertoire d’installation : Créez un répertoire d’installation et ses sous-répertoires (ssh, kube, ssl), à partir desquels vous effectuerez l’installation. Placez-vous dans le répertoire d’installation.
mkdir -p /opt/vantage-install/{ssh,kube,ssl} && cd /opt/vantage-install
2. Créez le fichier de clé SSH : Créez un fichier dans le dossier ssh nommé ansible et placez la clé privée SSH de l’utilisateur ansible dans ce fichier. 3. Créez le fichier d’inventaire : Créez un fichier inventory dans le répertoire d’installation. Remplacez X.X.X.X par les adresses IP de vos machines virtuelles :
[localhost]
127.0.0.1

###########################################
[kube_control_plane]
ub01master01 ansible_host=X.X.X.X

[abbyy_services]
ub01worker12-48-s01 ansible_host=X.X.X.X

[abbyy_workers]
ub01worker12-48-w01 ansible_host=X.X.X.X
ub01worker12-48-w02 ansible_host=X.X.X.X
ub01worker12-48-w03 ansible_host=X.X.X.X

###########################################
[kube_workers:children]
abbyy_services
abbyy_workers

[kube_cluster:children]
kube_control_plane
kube_workers
Si vous avez besoin d’une ou deux machines pour les workers au lieu de trois, supprimez les lignes en trop dans la section [abbyy_workers].
4. Créez le fichier env_specific.yml : Indiquez vos propres valeurs.
env: null
poc: true

domain: null
product_host: "{{ env }}.{{ domain }}"

logging:
  enabled: true
  elasticsearch:
    enabled: false
    host: null
    port: 9200
    username: null
    password: null
    scheme: https
  file:
    enabled: true

loadbalancer:
  external_ip: X.X.X.X

k8s:
  api:
    ip: X.X.X.X

techcore:
  use_gpu_workers: false
  use_nn_extraction_training_workers: false

platform_admin_email: [email protected]

source_container_registry_host: abyvtgonprm27.azurecr.io
source_container_registry_user: null      # remplacer par les identifiants obtenus lors de l'approvisionnement
source_container_registry_password: null  # remplacer par les identifiants obtenus lors de l'approvisionnement
source_container_registry_name: "{{ source_container_registry_host }}"

container_registry_host: registry.yourdomain.tld
container_registry_user: null
container_registry_password: null
container_registry_name: "{{ container_registry_host }}/vantage"

smtp:
  host: null
  login: null
  password: null
  port: 587
  useSSL: false
  secureSocketOptions: null

database:
  host: X.X.X.X
  port: 1433
  username: null
  password: null

reporting:
  enabled: false

id_reading:
  enabled: false

Paramètres de configuration

ParameterDescription
envPréfixe d’installation utilisé par défaut comme nom de sous-domaine.
poctrue pour une installation sans haute disponibilité, false pour une installation hautement disponible.
domainDomaine principal.
product_hostNom DNS permettant d’accéder au produit (valeur par défaut : env.domain).
logging.enabledActiver ou désactiver la journalisation (true/false).
logging.elasticsearch.enabledIndique si Elasticsearch doit être activé. Ce Parameter peut avoir pour valeur true ou false. Remarque : définissez la valeur de ce Parameter sur true uniquement si vous disposez déjà d’Elasticsearch et souhaitez y connecter les journaux Vantage. Si vous ne disposez pas encore d’instances Elasticsearch et Kibana, vous pouvez les déployer dans un cluster en suivant les instructions d’Elasticsearch et Kibana. Cette opération doit être effectuée avant l’installation du produit.
logging.elasticsearch.hostL’adresse IP du serveur.
logging.elasticsearch.portPort utilisé pour la connexion à Elasticsearch.
logging.elasticsearch.usernameLe nom d’utilisateur utilisé pour se connecter à Elasticsearch.
logging.elasticsearch.passwordLe mot de passe utilisé pour la connexion à Elasticsearch.
logging.elasticsearch.schemeLe protocole utilisé pour se connecter à Elasticsearch.
logging.file.enabledIndique si les journaux doivent être enregistrés dans des fichiers. Ce Parameter peut être défini sur true ou false.
loadbalancer.external_ipAdresse IP flottante de l’équilibreur de charge.
k8s.api.ipAdresse IP du point de terminaison de l’API Kubernetes.
securityContext.global.runAsUserSpécifie l’identifiant de l’utilisateur sous lequel le processus du conteneur doit s’exécuter. Ce paramètre s’applique uniquement aux pods qui fonctionnent avec des systèmes de stockage rwx externes (tels que NFS). Par défaut, le Parameter est fixé à 65532.
securityContext.global.runAsGroupSpécifie l’identifiant du groupe sous lequel le processus du conteneur doit s’exécuter.

Ce paramètre s’applique uniquement aux pods qui utilisent des stockages RWX externes (tels que NFS). Par défaut, le Parameter est défini sur 65532.
securityContext.global.fsGroupSpécifie l’identifiant du groupe qui sera propriétaire des volumes associés au pod. Ce paramètre s’applique uniquement aux pods qui utilisent des espaces de stockage rwx externes (comme NFS). Par défaut, le Parameter est défini sur 65532.
techcore.nn_training_workers.gpuIndique si les workers GPU doivent être déployés. Les workers GPU sont utilisés pour entraîner des compétences avec l’activité Deep Learning afin d’extraire des données à partir de documents semi‑structurés. Ce Parameter peut être défini sur true ou false. Si le Parameter est défini sur true, le Parameter techcore.nn_training_workers.enabled doit également être défini sur true. Vous pouvez activer cette option et définir les Parameters techcore.nn_training_workers.gpu et techcore.nn_training_workers.enabled sur true avant ou après l’installation de Vantage. Pour plus d’informations, voir Configuration du GPU.
techcore.nn_training_workers.enabledIndique si les workers nn-extraction-training et nlp-model-train doivent être déployés. Ces workers sont utilisés pour entraîner des compétences avec l’activité Deep Learning afin d’extraire des données de documents semi-structurés à l’aide du CPU. Ce paramètre peut être défini sur true ou false.
techcore.keep_previous_versionIndique si la version 2 du noyau technologique doit être conservée lors de la mise à jour de Vantage. Par défaut, le paramètre techcore.keep_previous_version n’est pas défini et la version 2 du noyau technologique est supprimée. Pour la conserver, définissez la valeur de ce paramètre sur true.
platform_admin_emailAdresse e-mail de l’administrateur du système.
container_registry_hostNom de domaine du registre de conteneurs.
container_registry_userNom de l’utilisateur ayant les droits nécessaires pour télécharger des images à partir du registre de conteneurs. Ce Parameter reste vide s’il n’y a pas de registre de conteneurs.
container_registry_passwordMot de passe ou jeton permettant de télécharger des images depuis le registre de conteneurs. Ce Parameter est laissé vide s’il n’y a pas de registre de conteneurs.
container_registry_nameLe répertoire du registre de conteneurs dans lequel les images sont hébergées.
smtp.hostAdresse IP ou nom d’hôte du serveur SMTP.
smtp.loginNom d’utilisateur pour la connexion au serveur SMTP.
smtp.passwordMot de passe utilisé pour la connexion au serveur SMTP.
smtp.portLe port du serveur SMTP.
smtp.useSSLSpécifie si une connexion chiffrée doit être utilisée. Ce Parameter peut être défini sur true ou false.
smtp.secureSocketOptionsSpécifie le type de chiffrement SSL et/ou TLS à utiliser pour la connexion.
database.enabledIndique si le serveur de base de données doit être activé.
database.hostAdresse IP du serveur SQL.
database.portLe port du serveur de base de données.
database.usernameNom d’utilisateur permettant de se connecter à la base de données (l’utilisateur doit disposer des droits nécessaires pour créer des bases de données).
database.passwordLe mot de passe utilisé pour se connecter à la base de données.
reporting.enabledIndique si le service de reporting Warehouse doit être déployé. Ce Parameter peut être défini sur true ou sur false.
id_reading.enabledIndique si le module complémentaire Identity Documents doit être déployé. Ce paramètre peut être défini sur true ou false.
Les quatre Parameter suivants sont facultatifs et ne sont requis que si la configuration à haute disponibilité est installée et si l’installation de Redis est exigée par le programme d’installation de Vantage.
ParameterDescription
redis.ipsL’adresse IP du cluster Redis au format suivant : [‘192.168.0.1”192.168.0.2’,,‘192.168.0.3’]. Si le Parameter est défini comme [], une instance Redis au sein du cluster sera déployée.
redis.portLe port utilisé pour se connecter au cluster Redis.
redis.passwordLe mot de passe utilisé pour se connecter à Redis.
redis.sslIndique si une connexion chiffrée au cluster Redis doit être utilisée. Ce Parameter peut être défini sur true ou false.
Tous les autres Parameter restent inchangés.

Préparation des certificats

  1. Accédez au répertoire ssl. Placez le certificat générique (wildcard) ainsi que le certificat intermédiaire correspondant au nom de domaine principal dans ce répertoire, et la clé (au format PEM) dans les fichiers suivants, respectivement : ./ssl/cert.pem et ./ssl/key.pem. Vous devez convertir votre fichier CRT au format PEM en remplaçant le contenu du fichier par le format suivant :
-----BEGIN CERTIFICATE-----
[your certificate]
-----END CERTIFICATE-----
  1. Si vous utilisez un fournisseur d’authentification externe (ADFS) avec un certificat signé par une autorité de certification (AC) interne, placez le certificat racine dans ./ssl/adfs-root.pem.
Si vous accédez à des endpoints tiers depuis Vantage (scripts d’activité personnalisés ou authentification externe), l’endpoint externe doit disposer d’un certificat émis par une autorité de certification publique.

Téléchargement des images de conteneurs

Les scripts de migration utilisent les propriétés suivantes dans le fichier env_specific.yml
source_container_registry_host: sourcerepo.azurecr.io
source_container_registry_user: user
source_container_registry_password: pass
source_container_registry_name: "{{ source_container_registry_host }}/optional/subpath"

container_registry_host: destinationrepo.azurecr.io
container_registry_user: user
container_registry_password: pass
container_registry_name: "{{ container_registry_host }}/optional/subpath"
Important ! Assurez-vous d’ajouter les propriétés nécessaires du registre de conteneurs pour la source et la cible dans votre fichier env_specific.yml, sous le type d’installation concerné, qu’il s’agisse d’AKS ou de VM.
Pour /ansible/inventories/azure/group_vars/all/env_specific.yml, exécutez :
ansible-playbook -i inventories/azure playbooks/validate-artifact-manifest.yml
ansible-playbook -i inventories/azure playbooks/oci-migration.yml
Pour le fichier /ansible/inventories/k8s/group_vars/all/env_specific.yml, exécutez :
ansible-playbook -i inventories/k8s playbooks/validate-artifact-manifest.yml
ansible-playbook -i inventories/k8s playbooks/oci-migration.yml

Exécution des scripts d’installation

L’installation d’ABBYY Vantage est automatique. Elle est exécutée à l’aide de l’outil Ansible, qui est installé et configuré dans le conteneur utilisé pour l’installation. Ansible interagit avec les machines en utilisant divers scénarios de configuration (playbooks YAML). Pour installer ABBYY Vantage, procédez comme suit : 1. Accédez au répertoire d’installation. 2. Exécutez le programme d’installation à partir d’une image Docker si vous ne l’avez pas encore fait :
docker run -it \
-v $PWD/kube:/home/ansible/.kube \
-v $PWD/ssh/ansible:/home/ansible/.ssh/ansible \
-v "//var/run/docker.sock:/var/run/docker.sock" \
-v $PWD/inventory:/ansible/inventories/k8s/inventory \
-v $PWD/env_specific.yml:/ansible/inventories/k8s/group_vars/all/env_specific.yml \
-v $PWD/ssl:/ansible/files/ssl:ro \
--privileged \
registry.local/vantage-installer:2.7.1
ParameterDescription
-v \$PWD/kube:/root/.kubeChemin d’accès au répertoire Kubernetes où est stocké le fichier kube/config.
-v \$PWD/ssh/ansible:/root/ansibleChemin d’accès à la clé SSH privée requise pour installer et configurer le cluster Kubernetes et certains prérequis.
-v "//var/run/docker.sock:/var/run/docker.sock"Nécessaire pour synchroniser les images avec votre registre de conteneurs.
-v \$PWD/inventory:/ansible/inventories/k8s/inventoryChemin d’accès au fichier inventory.
-v \$PWD/env_specific.yml:/ansible/inventories/k8s/group_vars/all/env_specific.y mlChemin d’accès au fichier env_specific.yml.
-v \$PWD/ssl:/ansible/files/ssl:roChemin d’accès au dossier contenant les certificats SSL, qui doit contenir les fichiers suivants : cert.pem, key.pem, adfsroot.pem.
3. Définir les autorisations de la clé SSH :
chmod 600 /root/.ssh/ansible
4. Exécutez la commande suivante pour installer et configurer le cluster Kubernetes sur les machines virtuelles définies dans le fichier d’inventaire :
ansible-playbook -i inventories/k8s -v playbooks/4-Kubernetes-k8s.yml
5. Exécutez le contrôle pré-déploiement et acceptez les documents juridiques :
ansible-playbook -i inventories/k8s -v playbooks/0-PreflightCheck-k8s.yml
ansible-playbook -i inventories/k8s -v playbooks/legal.yml
Le playbook va :
  • Effectuer une vérification préliminaire des ressources pour lesquelles les Parameter sont spécifiés dans le fichier env_specific.yml du playbook (telles que la base de données et la connexion SMTP).
  • Demander à l’administrateur système d’accepter les conditions du CLUF (EULA) et de la Politique de confidentialité d’ABBYY.
6. Installer le produit :
ansible-playbook -i inventories/k8s -v playbooks/site-k8s-deploy.yml
Le playbook déploiera le système de collecte de métriques et de journaux ainsi qu’ABBYY Vantage. Le temps nécessaire pour terminer le processus d’installation dépendra des performances des machines sélectionnées. En moyenne, le processus prendra environ 10 minutes. Vous pouvez surveiller les pods et l’exécution du Job dans un cluster à l’aide de n’importe quel outil permettant de travailler avec Kubernetes, par exemple l’utilitaire Lens. Pour ce faire, utilisez le fichier kubeconfig qui sera créé dans le dossier kube après l’installation de Kubernetes sur les machines virtuelles. Vous pouvez également télécharger les fichiers journaux de l’installation Ansible sur votre machine locale en suivant les étapes ci-dessous :
  1. Déconnectez-vous du conteneur Docker.
  2. Exécutez la commande suivante pour obtenir la liste des conteneurs :
docker ps -a
Identifiez le nom du conteneur qui contient le programme d’installation.
  1. Exécutez la commande suivante en remplaçant container_name par le nom du conteneur pour obtenir les journaux :
docker cp container_name:/ansible/ansible.log ansible.log
Une fois le déploiement terminé, les éléments suivants vous seront fournis :
  • L’URL du nom de domaine fourni.
  • Un identifiant et un mot de passe d’administrateur système qui peuvent être utilisés pour se connecter, créer des tenants et traiter des documents.

Obtenir les journaux d’installation

# Exit the Docker container, then:
docker ps -a
# Recherchez le nom du conteneur, puis :
docker cp container_name:/ansible/ansible.log ansible.log

Déploiements optionnels

Déploiement du système de journalisation

Si le système de journalisation n’a pas été activé dans Vantage (la valeur du Parameter logging.enabled dans le fichier env_specific.yml était false) lors de son installation, vous pouvez l’activer après l’installation de Vantage. Pour ce faire, attribuez la valeur true au Parameter logging.enabled dans le fichier env_specific.yml et exécutez la commande suivante :
ansible-playbook -i inventories/k8s playbooks/6-DeployMonitoring-k8s.yml

Déploiement de Business Processing Reporting Warehouse

Le Business Processing Reporting Warehouse est utilisé pour analyser le processus métier et suivre les données sur des périodes de temps spécifiques. Lors de l’installation de Vantage, le Business Processing Reporting Warehouse sera également installé si la valeur du paramètre reporting.enabled dans le fichier env_specific.yml est définie sur true. Si la valeur du paramètre reporting.enabled est définie sur false, vous pouvez installer Business Processing Reporting Warehouse après avoir installé Vantage en exécutant la commande suivante :
ansible-playbook -i inventories/k8s -v playbooks/deploy-reporting.yml

Déploiement du module complémentaire Identity Documents

Le module complémentaire Identity Documents nécessite que Vantage dispose d’un accès Internet à https://lic.regulaforensics.com et https://lic2.regulaforensics.com.
Le service du module complémentaire Identity Documents permet d’exécuter la Skill Identity Documents, utilisée pour extraire des données à partir de documents d’identité émis dans différents pays. Lors de l’installation de Vantage, le module complémentaire Identity Documents est également installé si la valeur du Parameter id_reading.enabled dans le fichier env_specific.yml a été définie sur true. Si la valeur du Parameter id_reading.enabled a été définie sur false, vous pouvez installer le module complémentaire Identity Documents après l’installation de Vantage en exécutant la commande suivante : ansible-playbook -i inventories/k8s -v playbooks/12-DeployDocumentReader.yml Il est nécessaire d’autoriser l’accès aux adresses suivantes depuis le cluster contenant l’installation de Vantage : https://lic.regulaforensics.com https://lic2.regulaforensics.com