Pular para o conteúdo principal

Visão geral da instalação

Para instalar o Vantage, siga estas etapas:
  1. Prepare os recursos.
  2. Especifique as credenciais dos recursos.
  3. Execute os scripts de instalação.

Preparando recursos

Antes de começar, certifique-se de que todos os requisitos listados na seção System Requirements sejam atendidos.

Especificando credenciais de recursos

Antes de executar o instalador:
  1. Configure os arquivos de configuração.
  2. Prepare os certificados.
  3. Baixe as imagens de contêiner.

Configurando arquivos de configuração

1. Crie o diretório de instalação: Crie um diretório de instalação e seus subdiretórios (ssh, kube, ssl), que serão usados para realizar a instalação. Navegue até o diretório de instalação.
mkdir -p /opt/vantage-install/{ssh,kube,ssl} && cd /opt/vantage-install
2. Crie o arquivo de chave SSH: Crie um arquivo na pasta ssh chamado ansible e coloque a chave SSH privada do usuário ansible nesse arquivo. 3. Crie o arquivo de inventário: Crie um arquivo inventory no diretório de instalação. Substitua X.X.X.X pelos endereços IP da 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 você precisar de apenas 1 ou 2 máquinas de worker em vez de 3, exclua as linhas extras na seção [abbyy_workers].
4. Crie o arquivo env_specific.yml: Informe seus próprios valores.
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      # substitua pelas credenciais obtidas durante a compra
source_container_registry_password: null  # substitua pelas credenciais obtidas durante a compra
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

Parâmetros de configuração

ParameterDescrição
envPrefixo de instalação, usado por padrão como nome de subdomínio.
poctrue para Sem alta disponibilidade, false para Com alta disponibilidade.
domainO domínio principal.
product_hostNome DNS usado para acesso ao produto (padrão: env.domain).
logging.enabledAtiva ou desativa o registro de logs (true/false).
logging.elasticsearch.enabledEspecifica se o Elasticsearch deve ser ativado. Esse Parameter pode ser definido como true ou false. Observação: defina o valor desse Parameter como true somente se você já tiver o Elasticsearch e quiser conectar a ele os logs do Vantage. Se você ainda não tiver instâncias do Elasticsearch e do Kibana, poderá implantá-las em um cluster seguindo as instruções em Elasticsearch e Kibana. Isso deve ser feito antes de instalar o produto.
logging.elasticsearch.hostO endereço IP do servidor.
logging.elasticsearch.portA porta usada para se conectar ao Elasticsearch.
logging.elasticsearch.usernameO nome de usuário utilizado para se conectar ao Elasticsearch.
logging.elasticsearch.passwordA senha utilizada para conectar-se ao Elasticsearch.
logging.elasticsearch.schemeEsquema de protocolo utilizado para a conexão com o Elasticsearch.
logging.file.enabledEspecifica se os registros de log devem ser gravados como arquivos. Esse Parameter pode ser definido como true ou false.
loadbalancer.external_ipEndereço IP flutuante do balanceador.
k8s.api.ipEndereço IP do endpoint da API do Kubernetes.
securityContext.global.runAsUserEspecifica o identificador do usuário com o qual o processo do contêiner deve ser executado. Essa configuração se aplica apenas aos pods que trabalham com armazenamentos rwx externos (como NFS). Por padrão, o parâmetro é definido como 65532.
securityContext.global.runAsGroupEspecifica o identificador do grupo sob o qual o processo do contêiner deve ser executado.

Essa configuração se aplica apenas a pods que trabalham com armazenamentos externos com acesso rwx (como NFS). Por padrão, o Parameter é definido como 65532.
securityContext.global.fsGroupEspecifica o identificador do grupo que será o proprietário dos volumes anexados ao pod. Essa configuração se aplica apenas a pods que utilizam armazenamentos externos rwx (como NFS). Por padrão, o Parameter é definido como 65532.
techcore.nn_training_workers.gpuEspecifica se os workers de GPU devem ser implantados. Os workers de GPU são usados para treinar skills com a atividade Deep Learning para extrair dados de documentos semiestruturados. Este Parameter pode ser definido como true ou false. Se o Parameter for definido como true, o Parameter techcore.nn_training_workers.enabled também deverá ser definido como true. Você pode implantar essa opção e definir os Parameters techcore.nn_training_workers.gpu e techcore.nn_training_workers.enabled como true antes ou depois de instalar o Vantage. Para obter mais informações, consulte Setting up GPU.
techcore.nn_training_workers.enabledEspecifica se os workers nn-extraction-training e nlp-model-train devem ser implantados. Esses workers são usados para treinar skills com a atividade Deep Learning e extrair dados de documentos semiestruturados usando a CPU. Esse parâmetro pode ser definido como true ou false.
techcore.keep_previous_versionEspecifica se a versão 2 do núcleo de tecnologia deve ser mantida ao atualizar o Vantage. Por padrão, o parâmetro techcore.keep_previous_version não é definido e a versão 2 do núcleo de tecnologia é excluída. Para mantê-la, defina o valor do parâmetro como true.
platform_admin_emailEndereço de e-mail do administrador do sistema.
container_registry_hostNome de domínio do registro de contêineres.
container_registry_userO nome do usuário que tem permissão para fazer download de imagens do registro de contêineres. Este Parameter deve ser deixado em branco se não houver registro de contêineres.
container_registry_passwordSenha/token para fazer download de imagens do registro de contêiner. Este Parameter fica em branco se não houver registro de contêiner.
container_registry_nameO diretório do registro de contêiner no qual as imagens estão hospedadas.
smtp.hostEndereço IP ou hostname do servidor SMTP.
smtp.loginO nome de usuário usado para se conectar ao servidor SMTP.
smtp.passwordA senha utilizada para se conectar ao servidor SMTP.
smtp.portA porta do servidor SMTP.
smtp.useSSLEspecifica se uma conexão criptografada deve ser utilizada. Este Parameter pode ser definido como true ou false.
smtp.secureSocketOptionsEspecifica a criptografia SSL e/ou TLS que deve ser usada na conexão.
database.enabledEspecifica se o servidor de banco de dados deve ser ativado.
database.hostEndereço IP do servidor SQL.
database.portPorta do servidor de banco de dados.
database.usernameO nome de usuário utilizado para se conectar ao banco de dados (o usuário deve ter as permissões necessárias para criar bancos de dados).
database.passwordA senha utilizada para acessar o banco de dados.
reporting.enabledEspecifica se o serviço de relatórios do Warehouse deve ser implantado. Este Parameter pode ser definido como true ou false.
id_reading.enabledIndica se o add-on Identity Documents deve ser implantado. Esse Parameter pode ser definido como true ou false.
Os quatro parâmetros a seguir são opcionais e necessários somente se a configuração de alta disponibilidade estiver sendo instalada e se a instalação do Redis for exigida pelo instalador do Vantage.
ParameterDescription
redis.ipsO endereço IP do cluster Redis no seguinte formato: [‘192.168.0.1”192.168.0.2’,,‘192.168.0.3’]. Se o parâmetro for definido como [], uma instância Redis dentro do cluster será implantada.
redis.portA porta usada para se conectar ao cluster Redis.
redis.passwordA senha usada para se conectar ao Redis.
redis.sslEspecifica se deve ser usada uma conexão criptografada com o cluster Redis. Este parâmetro pode ser definido como true ou false.
Todos os outros parâmetros permanecem inalterados.

Preparando certificados

  1. Vá para o diretório ssl. Coloque o certificado curinga (juntamente com o certificado intermediário) correspondente ao nome de domínio principal nesse diretório e a chave (em formato PEM) nos seguintes arquivos, respectivamente: ./ssl/cert.pem , ./ssl/key.pem. Você deve converter seu arquivo CRT para o formato PEM, alterando o conteúdo do arquivo para o seguinte formato:
-----BEGIN CERTIFICATE-----
[your certificate]
-----END CERTIFICATE-----
  1. Se estiver usando um provedor de autenticação externo (ADFS) com um certificado assinado por uma autoridade certificadora interna, coloque o certificado raiz em ./ssl/adfs-root.pem.
Se estiver acessando endpoints de terceiros a partir do Vantage (scripts de atividades personalizadas ou autenticação externa), o endpoint externo deve ter um certificado emitido por uma autoridade pública.

Baixando imagens de contêiner

Os scripts de migração dependem das seguintes propriedades no arquivo 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! Certifique-se de adicionar as propriedades necessárias do registro de contêiner de origem e de destino ao seu env_specific.yml no tipo de instalação, seja AKS ou VM.
Para /ansible/inventories/azure/group_vars/all/env_specific.yml, execute:
ansible-playbook -i inventories/azure playbooks/validate-artifact-manifest.yml
ansible-playbook -i inventories/azure playbooks/oci-migration.yml
Para /ansible/inventories/k8s/group_vars/all/env_specific.yml, execute:
ansible-playbook -i inventories/k8s playbooks/validate-artifact-manifest.yml
ansible-playbook -i inventories/k8s playbooks/oci-migration.yml

Executando os Scripts de Instalação

A instalação do ABBYY Vantage é automática. Ela é executada com a ferramenta Ansible, que é instalada e configurada dentro do contêiner usado para a instalação. O Ansible interage com as máquinas usando diferentes cenários de configuração (playbooks YAML). Para instalar o ABBYY Vantage, siga estas etapas: 1. Acesse o diretório de instalação. 2. Execute o instalador a partir de uma imagem Docker se você ainda não o tiver executado:
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/.kubeO caminho para o diretório do Kubernetes onde o arquivo kube/config está armazenado.
-v \$PWD/ssh/ansible:/root/ansibleO caminho para a chave SSH privada necessária para instalar e configurar o cluster Kubernetes e alguns pré-requisitos.
-v "//var/run/docker.sock:/var/run/docker.sock"Necessário para sincronizar imagens com seu registro de contêineres.
-v \$PWD/inventory:/ansible/inventories/k8s/inventoryO caminho para o arquivo inventory.
-v \$PWD/env_specific.yml:/ansible/inventories/k8s/group_vars/all/env_specific.y mlO caminho para o arquivo env_specific.yml.
-v \$PWD/ssl:/ansible/files/ssl:roO caminho para a pasta com certificados SSL, que deve conter os seguintes arquivos: cert.pem, key.pem, adfsroot.pem.
3. Definir as permissões da chave SSH:
chmod 600 /root/.ssh/ansible
4. Execute o seguinte comando para instalar e configurar o cluster Kubernetes nas máquinas virtuais definidas no arquivo de inventário:
ansible-playbook -i inventories/k8s -v playbooks/4-Kubernetes-k8s.yml
5. Execute a verificação de pré-implantação e aceite os documentos legais:
ansible-playbook -i inventories/k8s -v playbooks/0-PreflightCheck-k8s.yml
ansible-playbook -i inventories/k8s -v playbooks/legal.yml
O playbook irá:
  • Executar uma verificação preliminar dos recursos cujos parâmetros estão especificados no arquivo env_specific.yml do playbook (como conexões com banco de dados e SMTP).
  • Solicitar ao administrador do sistema que aceite os termos do EULA e da Política de Privacidade da ABBYY.
6. Instale o produto:
ansible-playbook -i inventories/k8s -v playbooks/site-k8s-deploy.yml
O playbook implantará o sistema de coleta de métricas e logs e também o ABBYY Vantage. O tempo necessário para concluir o processo de instalação dependerá do desempenho das máquinas selecionadas. Em média, o processo levará cerca de 10 minutos. Você pode monitorar os pods e a execução do job em um cluster usando qualquer ferramenta de gerenciamento do Kubernetes, por exemplo, o utilitário Lens. Para isso, use o arquivo kubeconfig que será criado na pasta kube após a instalação do Kubernetes nas máquinas virtuais. Você também pode baixar os arquivos de log de instalação do Ansible para a sua máquina local seguindo as etapas abaixo:
  1. Saia do contêiner Docker.
  2. Execute o seguinte comando para obter a lista de contêineres:
docker ps -a
Encontre o nome do contêiner que contém o instalador.
  1. Execute o seguinte comando, substituindo container_name pelo nome do contêiner para obter os logs:
docker cp container_name:/ansible/ansible.log ansible.log
Após a conclusão da implantação, serão fornecidos os seguintes itens:
  • URL do domínio fornecido.
  • Login e senha do Administrador do Sistema, que podem ser usados para fazer login, criar locatários (tenants) e processar documentos.

Como obter logs de instalação

# Exit the Docker container, then:
docker ps -a
# Localize o nome do contêiner e, em seguida:
docker cp container_name:/ansible/ansible.log ansible.log

Implantações opcionais

Implantando o sistema de log

Se o sistema de log não tiver sido habilitado no Vantage (o valor do parâmetro logging.enabled no arquivo env_specific.yml era false) durante a instalação, você poderá ativá‑lo após instalar o Vantage. Para isso, defina o valor do parâmetro logging.enabled no arquivo env_specific.yml como true e execute o seguinte comando:
ansible-playbook -i inventories/k8s playbooks/6-DeployMonitoring-k8s.yml

Implantando o Business Processing Reporting Warehouse

O Business Processing Reporting Warehouse é usado para analisar o processo de negócios e acompanhar dados por períodos específicos. Durante a instalação do Vantage, o Business Processing Reporting Warehouse também será instalado se o valor do Parameter reporting.enabled no arquivo env_specific.yml tiver sido definido como true. Se o valor do Parameter reporting.enabled tiver sido definido como false, você poderá instalar o Business Processing Reporting Warehouse após instalar o Vantage executando o seguinte comando:
ansible-playbook -i inventories/k8s -v playbooks/deploy-reporting.yml

Implantando o add-on Identity Documents

O add-on Identity Documents requer que o Vantage tenha acesso à Internet a https://lic.regulaforensics.com e https://lic2.regulaforensics.com.
O serviço do add-on Identity Documents permite executar a skill Identity Documents, usada para extrair dados de documentos de identidade emitidos em vários países. Durante a instalação do Vantage, o add-on Identity Documents também será instalado se o valor do parâmetro id_reading.enabled no arquivo env_specific.yml tiver sido definido como true. Se o valor do parâmetro id_reading.enabled tiver sido definido como false, você poderá instalar o add-on Identity Documents após instalar o Vantage, executando o seguinte comando: ansible-playbook -i inventories/k8s -v playbooks/12-DeployDocumentReader.yml É necessário que o cluster que contém a instalação do Vantage tenha acesso aos seguintes endereços: https://lic.regulaforensics.com https://lic2.regulaforensics.com