跳转到主要内容

安装概览

要安装 Vantage,请按照以下步骤操作:
  1. 准备所需资源。
  2. 配置资源凭据。
  3. 运行安装脚本。

准备资源

在开始之前,请确保已满足系统要求部分中列出的所有要求。

指定资源凭据

在运行安装程序之前:
  1. 设置配置文件。
  2. 准备证书。
  3. 下载容器镜像。

配置文件设置

1. 创建安装目录: 创建一个安装目录及其子目录(sshkubessl),安装将从此目录执行。然后切换到该安装目录。
mkdir -p /opt/vantage-install/{ssh,kube,ssl} && cd /opt/vantage-install
2. 创建 SSH 密钥文件: ssh 文件夹中创建一个名为 ansible 的文件,并将 ansible 用户的 SSH 私钥放入该文件中。 3. 创建 inventory 文件: 在安装目录中创建一个名为 inventory 的文件。将 X.X.X.X 替换为你的虚拟机 IP 地址:
[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
如果你只需要 1 或 2 台 worker 机器而不是 3 台,请在 [abbyy_workers] 部分删除多余的行。
4. 创建 env_specific.yml 文件: 指定你自己的值。
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      # 替换为采购时获取的凭据
source_container_registry_password: null  # 替换为采购时获取的凭据
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说明
env安装前缀,默认作为子域名使用。
poctrue 表示不启用高可用部署,false 表示启用高可用部署。
domain主域名。
product_host用于访问产品的 DNS 名称(默认:env.domain)。
logging.enabled启用或禁用日志记录(true/false)。
logging.elasticsearch.enabled指定是否启用 Elasticsearch。此 Parameter 可设置为 truefalse。**注意:**仅当您已经有 Elasticsearch 并希望将 Vantage 日志连接到它时,才将该 Parameter 的值设置为 true。如果您尚无现有的 Elasticsearch 和 Kibana 实例,可以按照《Elasticsearch 和 Kibana》中的说明,将它们以集群方式部署。此操作必须在安装产品之前完成。
logging.elasticsearch.host服务器的 IP 地址。
logging.elasticsearch.port用于连接 Elasticsearch 的端口。
logging.elasticsearch.username用于连接 Elasticsearch 的用户名。
logging.elasticsearch.password用于连接 Elasticsearch 的密码。
logging.elasticsearch.scheme用于连接 Elasticsearch 的协议类型。
logging.file.enabled指定是否将日志写入文件。该 Parameter 可以设置为 truefalse
loadbalancer.external_ip负载均衡器的浮动 IP 地址。
k8s.api.ipKubernetes API 端点的 IP 地址。
securityContext.global.runAsUser指定容器进程运行所用用户的标识符。此设置仅适用于使用外部 rwx 存储(例如 NFS)的 Pod。默认情况下,该参数的值为 65532
securityContext.global.runAsGroup指定容器进程运行时所属组的标识符。

此设置仅适用于使用外部 rwx 存储(例如 NFS)的 Pod。默认情况下,此 Parameter 设置为 65532
securityContext.global.fsGroup指定将拥有挂载到该 pod 的存储卷的用户组标识符。此设置仅适用于使用外部 rwx 存储(例如 NFS)的 pod。默认情况下,该参数的值为 65532
techcore.nn_training_workers.gpu指定是否应部署 GPU worker。GPU worker 用于在 Deep Learning 活动中训练 Skill,以从半结构化文档中提取数据。此 Parameter 可以设置为 truefalse。如果该 Parameter 设置为 true,则 techcore.nn_training_workers.enabled Parameter 也必须设置为 true。您可以在安装 Vantage 之前或之后启用此选项,并将 techcore.nn_training_workers.gputechcore.nn_training_workers.enabled 这两个 Parameter 设置为 true。有关更多信息,请参阅设置 GPU
techcore.nn_training_workers.enabled指定是否应部署 nn-extraction-training 和 nlp-model-train workers。这些 workers 在 Deep Learning 活动中用于基于 CPU 训练 Skill,以从半结构化文档中提取数据。此 Parameter 可设置为 truefalse
techcore.keep_previous_version指定在更新 Vantage 时是否必须保留 technology core 的第 2 版。默认情况下,未指定 techcore.keep_previous_version Parameter 时,会删除 technology core 的第 2 版。若要保留该版本,请将此 Parameter 的值设置为 true
platform_admin_email系统管理员的邮箱地址。
container_registry_host容器镜像仓库的域名。
container_registry_user拥有从容器注册表下载镜像权限的用户名。如果没有容器注册表,则此 Parameter 保持为空。
container_registry_password用于从容器镜像仓库下载镜像的密码或令牌。如果没有容器镜像仓库,请将此 Parameter 留空。
container_registry_name用于托管镜像的容器镜像仓库目录。
smtp.hostSMTP 服务器的 IP 地址或主机名。
smtp.login用于连接 SMTP 服务器的用户名。
smtp.password用于连接 SMTP 服务器的密码。
smtp.portSMTP 服务器端口。
smtp.useSSL指定是否使用加密连接。此 Parameter 可以设置为 truefalse
smtp.secureSocketOptions指定连接应使用的 SSL 和/或 TLS 加密选项。
database.enabled指定是否启用数据库服务器。
database.hostSQL Server 的 IP 地址。
database.port数据库服务器端口号。
database.username用于连接数据库的用户名(该用户必须具有创建数据库所需的权限)。
database.password用于连接数据库的密码。
reporting.enabled指定是否部署 Warehouse 报表服务。该 Parameter 可以设置为 truefalse
id_reading.enabled指定是否部署 Identity Documents 插件。该 Parameter 可以设置为 truefalse
以下四个参数是可选的,仅在安装高可用配置且需要由 Vantage 安装程序安装 Redis 时才需要。
ParameterDescription
redis.ipsRedis 集群 IP 地址,格式如下:[‘192.168.0.1”192.168.0.2’,,‘192.168.0.3’]。如果该参数设置为 [],则会在集群内部署 Redis 实例。
redis.port用于连接 Redis 集群的端口。
redis.password用于连接 Redis 的密码。
redis.ssl指定是否使用到 Redis 集群的加密连接。此参数可以设置为 truefalse
所有其他参数保持不变。

准备证书

  1. 进入 ssl 目录。将与主域名对应的通配符证书(连同中间证书)放在该目录下,并将密钥(PEM 格式)分别保存到以下文件中:./ssl/cert.pem 和 ./ssl/key.pem。你需要通过将 CRT 文件的内容修改为以下格式,将 CRT 文件转换为 PEM 格式:
-----BEGIN CERTIFICATE-----
[your certificate]
-----END CERTIFICATE-----
  1. 如果使用带有内部 CA 签名证书的外部身份验证提供程序(ADFS),请将根证书放在 ./ssl/adfs-root.pem 中。
如果从 Vantage 访问第三方端点(用于自定义活动脚本或外部身份验证),该外部端点必须使用由公开信任的证书颁发机构签发的证书。

下载容器镜像

迁移脚本依赖于 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"
重要! 请确保在 env_specific.yml 中根据安装类型(AKS 或 VM)添加所需的源和目标容器注册表属性。
对于 /ansible/inventories/azure/group_vars/all/env_specific.yml,请运行:
ansible-playbook -i inventories/azure playbooks/validate-artifact-manifest.yml
ansible-playbook -i inventories/azure playbooks/oci-migration.yml
对于 /ansible/inventories/k8s/group_vars/all/env_specific.yml,请执行:
ansible-playbook -i inventories/k8s playbooks/validate-artifact-manifest.yml
ansible-playbook -i inventories/k8s playbooks/oci-migration.yml

运行安装脚本

ABBYY Vantage 的安装是自动完成的。安装过程通过 Ansible 工具执行,该工具已在用于安装的容器中预先安装并配置好。Ansible 使用各种配置方案(YAML playbook)与机器交互。 要安装 ABBYY Vantage,请按照以下步骤操作: 1. 切换到安装目录。 2. 如果尚未运行安装程序,请从 Docker 镜像运行安装程序:
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/.kube存储 kube/config 文件的 Kubernetes 目录路径。
-v \$PWD/ssh/ansible:/root/ansible安装和配置 Kubernetes 集群及部分先决条件所需的私有 SSH 密钥路径。
-v "//var/run/docker.sock:/var/run/docker.sock"用于将镜像同步到您的容器镜像仓库。
-v \$PWD/inventory:/ansible/inventories/k8s/inventoryinventory 文件的路径。
-v \$PWD/env_specific.yml:/ansible/inventories/k8s/group_vars/all/env_specific.y mlenv_specific.yml 文件的路径。
-v \$PWD/ssl:/ansible/files/ssl:ro包含 SSL 证书的文件夹路径,该文件夹中必须包含以下文件:cert.pemkey.pemadfsroot.pem
3. 设置 SSH 密钥权限:
chmod 600 /root/.ssh/ansible
4. 运行以下命令,在清单文件中定义的虚拟机上安装并配置 Kubernetes 集群:
ansible-playbook -i inventories/k8s -v playbooks/4-Kubernetes-k8s.yml
5. 执行预部署检查并接受法律文件:
ansible-playbook -i inventories/k8s -v playbooks/0-PreflightCheck-k8s.yml
ansible-playbook -i inventories/k8s -v playbooks/legal.yml
该 playbook 将:
  • 对其 Parameter 在 playbook 的 env_specific.yml 文件中指定的资源执行预检查(例如数据库和 SMTP 连接)。
  • 要求系统管理员接受 EULA 和 ABBYY 隐私政策的条款。
6. 安装产品:
ansible-playbook -i inventories/k8s -v playbooks/site-k8s-deploy.yml
Playbook 将部署指标和日志收集系统,并部署 ABBYY Vantage。完成安装所需的时间取决于所选机器的性能。平均来说,整个过程大约需要 10 分钟。您可以使用任意用于管理 Kubernetes 的工具(例如 Lens 工具)在集群中监控 Pod 和 Job 的执行情况。为此,请使用在虚拟机上安装 Kubernetes 后在 kube 文件夹中创建的 kubeconfig 文件。您还可以按照以下步骤将 Ansible 安装日志文件下载到本地计算机:
  1. 退出 Docker 容器。
  2. 运行以下命令以获取容器列表:
docker ps -a
找到包含安装程序的容器的名称。
  1. 运行以下命令,将 container_name 替换为该容器的名称以查看日志:
docker cp container_name:/ansible/ansible.log ansible.log
部署完成后,您将获得以下信息:
  • 提供的域名对应的 URL。
  • 系统管理员账户和密码,可用于登录系统、创建租户以及处理文档。

获取安装日志

# 退出 Docker 容器,然后执行:
docker ps -a
# 找到容器名称,然后执行:
docker cp container_name:/ansible/ansible.log ansible.log

可选部署方案

部署日志系统

如果在安装 Vantage 时未启用日志系统(env_specific.yml 文件中 logging.enabled 参数的值为 false),则可以在安装完成后启用它。为此,将 env_specific.yml 文件中 logging.enabled 参数的值设置为 true,然后运行以下命令:
ansible-playbook -i inventories/k8s playbooks/6-DeployMonitoring-k8s.yml

部署 Business Processing Reporting Warehouse

Business Processing Reporting Warehouse 用于分析业务流程,并对特定时间段的数据进行跟踪。在安装 Vantage 期间,如果 env_specific.yml 文件中 reporting.enabled 参数的值设置为 true,则会同时安装 Business Processing Reporting Warehouse。 如果 reporting.enabled 的值设置为 false,则可以在安装 Vantage 之后通过运行以下命令来安装 Business Processing Reporting Warehouse:
ansible-playbook -i inventories/k8s -v playbooks/deploy-reporting.yml

部署 Identity Documents 附加组件

使用 Identity Documents 附加组件时,Vantage 必须能够通过互联网访问 https://lic.regulaforensics.comhttps://lic2.regulaforensics.com
Identity Documents 附加组件服务用于运行 Identity Documents Skill,可从不同国家签发的身份证件中提取数据。 在安装 Vantage 时,如果 env_specific.yml 文件中 id_reading.enabled 参数的值设置为 true,则会同时安装 Identity Documents 附加组件。如果 id_reading.enabled 参数的值设置为 false,则可以在完成 Vantage 安装后,通过运行以下命令来安装 Identity Documents 附加组件: ansible-playbook -i inventories/k8s -v playbooks/12-DeployDocumentReader.yml 必须确保部署 Vantage 的集群能够访问以下地址: https://lic.regulaforensics.com https://lic2.regulaforensics.com