Vai al contenuto principale

Panoramica dell’installazione

Per installare Vantage, procedi come segue:
  1. Preparare le risorse.
  2. Specificare le credenziali delle risorse.
  3. Eseguire gli script di installazione.

Preparazione delle risorse

Prima di iniziare, verifica che siano soddisfatti tutti i requisiti riportati nella sezione System Requirements.

Configurazione delle credenziali delle risorse

Prima di avviare il programma di installazione:
  1. Configurare i file di configurazione.
  2. Preparare i certificati.
  3. Scaricare le immagini dei container.

Impostazione dei file di configurazione

1. Crea la directory di installazione: Crea una directory di installazione e le sue sottodirectory (ssh, kube, ssl), dalla quale verrà eseguita l’installazione. Portati nella directory di installazione.
mkdir -p /opt/vantage-install/{ssh,kube,ssl} && cd /opt/vantage-install
2. Creare il file della chiave SSH: Creare un file nella cartella ssh denominato ansible e inserire in questo file la chiave privata SSH per l’utente ansible. 3. Creare il file di inventory: Creare un file inventory nella directory di installazione. Sostituire X.X.X.X con gli indirizzi IP delle tue VM:
[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
Se ti servono solo 1 o 2 macchine worker invece di 3, elimina le righe in eccesso nella sezione [abbyy_workers].
4. Crea il file env_specific.yml: Inserisci i tuoi valori.
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      # sostituire con le credenziali ottenute durante l'acquisizione
source_container_registry_password: null  # sostituire con le credenziali ottenute durante l'acquisizione
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

Parameter di configurazione

ParameterDescrizione
envPrefisso dell’installazione, usato come nome di sottodominio per impostazione predefinita.
poctrue per installazione non in alta disponibilità, false per installazione in alta disponibilità.
domainDominio principale.
product_hostNome DNS per accedere al prodotto (valore predefinito: env.domain).
logging.enabledAbilita o disabilita il logging (true/false).
logging.elasticsearch.enabledSpecifica se Elasticsearch deve essere abilitato. Questo parametro può essere impostato su true o false. Nota: Impostare il valore del parametro su true solo se si dispone già di Elasticsearch e si desidera collegare a esso i log di Vantage. Se non si dispongono di istanze esistenti di Elasticsearch e Kibana, è possibile effettuare il deployment in un cluster seguendo le istruzioni riportate in Elasticsearch and Kibana. Questa operazione deve essere eseguita prima di installare il prodotto.
logging.elasticsearch.hostL’indirizzo IP del server.
logging.elasticsearch.portLa porta utilizzata per la connessione a Elasticsearch.
logging.elasticsearch.usernameIl nome utente utilizzato per la connessione a Elasticsearch.
logging.elasticsearch.passwordLa password utilizzata per connettersi ad Elasticsearch.
logging.elasticsearch.schemeLo schema del protocollo utilizzato per connettersi ad Elasticsearch.
logging.file.enabledSpecifica se i log devono essere scritti su file. Questo Parameter può essere impostato su true o false.
loadbalancer.external_ipIndirizzo IP floating del bilanciatore.
k8s.api.ipIndirizzo IP dell’endpoint API di Kubernetes.
securityContext.global.runAsUserSpecifica l’identificatore dell’utente con cui eseguire il processo del container. Questa impostazione si applica solo ai pod che utilizzano archivi RWX esterni (ad esempio NFS). Per impostazione predefinita, il Parameter è impostato su 65532.
securityContext.global.runAsGroupSpecifica l’identificatore del gruppo con cui verrà eseguito il processo del container.

Questa impostazione si applica solo ai pod che utilizzano archivi rwx esterni (ad esempio NFS). Per impostazione predefinita, il Parameter è pari a 65532.
securityContext.global.fsGroupSpecifica l’identificatore del gruppo che sarà proprietario dei volumi associati al pod. Questa impostazione si applica solo ai pod che utilizzano archivi rwx esterni (come NFS). Per impostazione predefinita, il parametro è pari a 65532.
techcore.nn_training_workers.gpuSpecifica se i worker GPU devono essere distribuiti. I worker GPU vengono utilizzati per addestrare skill con l’attività Deep Learning per estrarre dati da documenti semi-strutturati. Questo Parameter può essere impostato su true o false. Se il Parameter è impostato su true, anche il Parameter techcore.nn_training_workers.enabled deve essere impostato su true. È possibile distribuire questa opzione e impostare i Parameter techcore.nn_training_workers.gpu e techcore.nn_training_workers.enabled su true prima o dopo l’installazione di Vantage. Per ulteriori informazioni, vedere Configurazione della GPU.
techcore.nn_training_workers.enabledSpecifica se i worker nn-extraction-training e nlp-model-train devono essere distribuiti. Questi worker vengono utilizzati per addestrare skill con l’attività Deep Learning per estrarre dati da documenti semi-strutturati utilizzando la CPU. Questo Parameter può essere impostato su true o false.
techcore.keep_previous_versionSpecifica se la versione 2 del core tecnologico deve essere conservata durante l’aggiornamento di Vantage. Per impostazione predefinita, il parametro techcore.keep_previous_version non è specificato e la versione 2 del core tecnologico viene eliminata. Per conservarla, impostare il valore del parametro su true.
platform_admin_emailIndirizzo email dell’amministratore di sistema.
container_registry_hostNome di dominio del registro dei container.
container_registry_userIl nome dell’utente che dispone delle autorizzazioni per scaricare le immagini dal registro di container. Questo Parameter viene lasciato vuoto se non è presente alcun registro di container.
container_registry_passwordPassword/token usata per scaricare le immagini dal registro di container. Questo Parameter viene lasciato vuoto se non è presente alcun registro di container.
container_registry_nameLa directory del registro di container che ospita le immagini.
smtp.hostIndirizzo IP o nome host del server SMTP.
smtp.loginIl nome utente utilizzato per la connessione al server SMTP.
smtp.passwordLa password utilizzata per connettersi al server SMTP.
smtp.portLa porta del server SMTP.
smtp.useSSLSpecifica se debba essere utilizzata una connessione crittografata. Questo Parameter può essere impostato su true o false.
smtp.secureSocketOptionsSpecifica il tipo di crittografia SSL e/o TLS da utilizzare per la connessione.
database.enabledSpecifica se il server del database deve essere attivato.
database.hostIndirizzo IP del server SQL.
database.portLa porta del server del database.
database.usernameIl nome utente utilizzato per connettersi al database (deve disporre dei privilegi necessari per creare database).
database.passwordLa password utilizzata per la connessione al database.
reporting.enabledSpecifica se il servizio di reporting di Warehouse deve essere distribuito. Questo Parameter può essere impostato su true o false.
id_reading.enabledSpecifica se il componente aggiuntivo Identity Documents debba essere distribuito. Questo parametro può essere impostato su true oppure false.
I quattro parametri seguenti sono opzionali e sono necessari solo se si sta installando la configurazione ad alta disponibilità e se l’installazione di Redis è richiesta dal programma di installazione di Vantage.
ParameterDescription
redis.ipsL’indirizzo IP del cluster Redis nel seguente formato: [‘192.168.0.1”192.168.0.2’,,‘192.168.0.3’]. Se il parametro è definito come [], verrà distribuita un’istanza di Redis all’interno del cluster.
redis.portLa porta utilizzata per connettersi al cluster Redis.
redis.passwordLa password utilizzata per connettersi a Redis.
redis.sslSpecifica se deve essere utilizzata una connessione crittografata al cluster Redis. Questo parametro può essere impostato su true oppure false.
Tutti gli altri parametri rimangono invariati.

Preparazione dei certificati

  1. Accedi alla directory ssl. Inserisci il certificato wildcard (insieme al certificato intermedio) corrispondente al nome di dominio principale all’interno di quella directory e la chiave (in formato PEM) rispettivamente nei seguenti file: ./ssl/cert.pem, ./ssl/key.pem. Devi convertire il tuo file CRT in PEM sostituendo il contenuto del file con il seguente formato:
-----BEGIN CERTIFICATE-----
[your certificate]
-----END CERTIFICATE-----
  1. Se si utilizza un provider di autenticazione esterno (ADFS) con un certificato firmato da una CA interna, inserire il certificato radice in ./ssl/adfs-root.pem.
Se si accede a endpoint di terze parti da Vantage (script di attività personalizzate o autenticazione esterna), l’endpoint esterno deve disporre di un certificato emesso da un’autorità di certificazione pubblica.

Download delle immagini dei container

Gli script di migrazione si basano sulle seguenti proprietà nel file 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"
Importante! Assicurati di aggiungere le proprietà necessarie del registro di container di origine e di destinazione al file env_specific.yml, nella sezione relativa al tipo di installazione, che si tratti di AKS o di VM.
Per /ansible/inventories/azure/group_vars/all/env_specific.yml, esegui:
ansible-playbook -i inventories/azure playbooks/validate-artifact-manifest.yml
ansible-playbook -i inventories/azure playbooks/oci-migration.yml
Per il file /ansible/inventories/k8s/group_vars/all/env_specific.yml, esegui:
ansible-playbook -i inventories/k8s playbooks/validate-artifact-manifest.yml
ansible-playbook -i inventories/k8s playbooks/oci-migration.yml

Esecuzione degli script di installazione

L’installazione di ABBYY Vantage è automatica. Viene eseguita utilizzando lo strumento Ansible, che è installato e configurato all’interno del container utilizzato per l’installazione. Ansible interagisce con le macchine utilizzando vari scenari di configurazione (playbook YAML). Per installare ABBYY Vantage, procedere come segue: 1. Portarsi nella directory di installazione. 2. Eseguire il programma di installazione da un’immagine Docker, se non è stato ancora eseguito:
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
ParameterDescrizione
-v \$PWD/kube:/root/.kubePercorso della directory Kubernetes in cui è memorizzato il file kube/config.
-v \$PWD/ssh/ansible:/root/ansiblePercorso della chiave SSH privata necessaria per installare e configurare il cluster Kubernetes e alcuni prerequisiti.
-v "//var/run/docker.sock:/var/run/docker.sock"Necessario per sincronizzare le immagini con il registro di container.
-v \$PWD/inventory:/ansible/inventories/k8s/inventoryPercorso del file inventory.
-v \$PWD/env_specific.yml:/ansible/inventories/k8s/group_vars/all/env_specific.y mlPercorso del file env_specific.yml.
-v \$PWD/ssl:/ansible/files/ssl:roPercorso della cartella con i certificati SSL, che deve contenere i seguenti file: cert.pem, key.pem, adfsroot.pem.
3. Impostare i permessi della chiave SSH:
chmod 600 /root/.ssh/ansible
4. Esegui il seguente comando per installare e configurare il cluster Kubernetes sulle macchine virtuali specificate nel file di inventario:
ansible-playbook -i inventories/k8s -v playbooks/4-Kubernetes-k8s.yml
5. Eseguire la verifica pre-distribuzione e accettare i documenti legali:
ansible-playbook -i inventories/k8s -v playbooks/0-PreflightCheck-k8s.yml
ansible-playbook -i inventories/k8s -v playbooks/legal.yml
Il playbook:
  • Esegue un controllo preliminare delle risorse per cui i Parameter sono specificati nel file env_specific.yml del playbook (come la connessione al database e quella SMTP).
  • Chiede all’amministratore di sistema di accettare i termini dell’EULA e dell’Informativa sulla privacy di ABBYY.
6. Installare il prodotto:
ansible-playbook -i inventories/k8s -v playbooks/site-k8s-deploy.yml
Il playbook distribuirà il sistema di raccolta di metriche e log e distribuirà ABBYY Vantage. Il tempo necessario per completare il processo di installazione dipenderà dalle prestazioni delle macchine selezionate. In media, il processo richiederà circa 10 minuti. È possibile monitorare i pod e l’esecuzione del job in un cluster utilizzando qualsiasi strumento per lavorare con Kubernetes, ad esempio l’utilità Lens. A tale scopo, utilizzare il file kubeconfig che verrà creato nella cartella kube dopo l’installazione di Kubernetes sulle macchine virtuali. È inoltre possibile scaricare i file di log dell’installazione di Ansible sulla macchina locale seguendo i passaggi riportati di seguito:
  1. Disconnettersi dal container Docker.
  2. Eseguire il comando seguente per ottenere l’elenco dei container:
docker ps -a
Trova il nome del container che contiene il programma di installazione.
  1. Esegui il seguente comando, sostituendo container_name con il nome del container, per visualizzare i log:
docker cp container_name:/ansible/ansible.log ansible.log
Una volta completata la distribuzione, verranno forniti:
  • L’URL per il nome di dominio assegnato.
  • Il login e la password dell’Amministratore di sistema, che possono essere utilizzati per accedere, creare tenant ed elaborare documenti.

Recupero dei log di installazione

# Exit the Docker container, then:
docker ps -a
# Trovare il nome del container, quindi:
docker cp container_name:/ansible/ansible.log ansible.log

Distribuzioni facoltative

Distribuzione del sistema di logging

Se il sistema di logging non è stato abilitato in Vantage (il valore del Parameter logging.enabled nel file env_specific.yml era false) durante l’installazione, è possibile abilitarlo dopo aver installato Vantage. A tal fine, imposta il valore del Parameter logging.enabled nel file env_specific.yml su true ed esegui il comando seguente:
ansible-playbook -i inventories/k8s playbooks/6-DeployMonitoring-k8s.yml

Distribuzione del Business Processing Reporting Warehouse

Il Business Processing Reporting Warehouse viene utilizzato per analizzare il processo aziendale e tracciare i dati per specifici periodi di tempo. Durante l’installazione di Vantage, il Business Processing Reporting Warehouse verrà installato automaticamente se il valore del parametro reporting.enabled nel file env_specific.yml è impostato su true. Se il valore del parametro reporting.enabled è impostato su false, è possibile installare il Business Processing Reporting Warehouse dopo aver installato Vantage eseguendo il seguente comando:
ansible-playbook -i inventories/k8s -v playbooks/deploy-reporting.yml

Distribuzione del componente aggiuntivo Identity Documents

Il componente aggiuntivo Identity Documents richiede che Vantage abbia accesso a Internet a https://lic.regulaforensics.com e https://lic2.regulaforensics.com.
Il servizio del componente aggiuntivo Identity Documents consente di eseguire la skill Identity Documents, utilizzata per estrarre dati dai documenti di identità rilasciati in vari paesi. Durante l’installazione di Vantage, il componente aggiuntivo Identity Documents verrà inoltre installato se il valore del Parameter id_reading.enabled nel file env_specific.yml è impostato su true. Se il valore del Parameter id_reading.enabled è stato impostato su false, è possibile installare il componente aggiuntivo Identity Documents dopo aver installato Vantage eseguendo il seguente comando: ansible-playbook -i inventories/k8s -v playbooks/12-DeployDocumentReader.yml È necessario che dal cluster che contiene l’installazione di Vantage sia garantito l’accesso ai seguenti indirizzi: https://lic.regulaforensics.com https://lic2.regulaforensics.com