跳轉到主要內容

安裝概述

若要安裝 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 替換為您的 VM 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: admin@yourdomain.tld

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

Parameter說明
env安裝前綴,預設用作子網域名稱。
poctrue 表示不啟用高可用性,false 表示啟用高可用性。
domain主要網域。
product_host供存取產品使用的 DNS 名稱(預設:env.domain)。
logging.enabled啟用或停用記錄功能(true/false)。
logging.elasticsearch.enabled指定是否應啟用 Elasticsearch。此參數可以設定為 truefalse。**注意:**只有在您已經擁有 Elasticsearch 並希望將 Vantage 的日誌連線到該系統時,才將此參數值設定為 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。預設情況下,此 Parameter 的值為 65532
securityContext.global.runAsGroup指定容器程序執行時所使用的群組識別碼。

此設定僅適用於使用外部 rwx 儲存(例如 NFS)的 pod。預設會將 Parameter 設為 65532
securityContext.global.fsGroup指定將擁有附加到該 pod 的磁碟區之群組識別碼。此設定僅適用於使用外部 rwx 儲存體(例如 NFS)的 pod。預設情況下,此 parameter 設為 65532
techcore.nn_training_workers.gpu指定是否要部署 GPU 工作程序。GPU 工作程序用於在 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 worker。這些 worker 使用 CPU 搭配 Deep Learning 活動來訓練 skills,以從半結構化文件中擷取資料。此 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
The following four Parameter 為選用項目,只有在安裝高可用性組態且 Vantage 安裝程式需要安裝 Redis 時才必須設定。
ParameterDescription
redis.ipsRedis 叢集的 IP 位址,使用下列格式:[‘192.168.0.1”192.168.0.2’,,‘192.168.0.3’]。如果將此 Parameter 設定為 [],則會部署叢集內部的 Redis 執行個體。
redis.port用來連線至 Redis 叢集的連接埠。
redis.password用來連線至 Redis 的密碼。
redis.ssl指定是否要使用與 Redis 叢集之間的加密連線。此 Parameter 可設定為 truefalse
所有其他 Parameter 保持不變。

準備憑證

  1. 前往 ssl 目錄。將對應主要網域名稱的萬用字元憑證(連同中繼憑證)放在該目錄下,並將金鑰(PEM 格式)分別存入以下檔案:./ssl/cert.pem、./ssl/key.pem。您應將 CRT 檔案的內容變更為以下格式,將其轉換為 PEM:
-----BEGIN CERTIFICATE-----
[your certificate]
-----END CERTIFICATE-----
  1. 如果使用由內部 CA 簽署憑證的外部驗證提供者(ADFS),請將根憑證放置於 ./ssl/adfs-root.pem
如果要從 Vantage 存取第三方端點(自訂活動指令碼或外部驗證),外部端點必須使用由公開信任的憑證授權機構所簽發的憑證。

執行安裝指令碼

ABBYY Vantage 的安裝會自動執行。安裝程序是透過 Ansible 工具執行,而該工具已安裝並設定在用於安裝的容器中。Ansible 會使用各種組態情境(YAML playbooks)與機器互動。 若要安裝 ABBYY Vantage,請依照下列步驟進行: 1. 前往安裝目錄。 2. 登入安裝程式發佈所使用的註冊中心
# 將 <username> 和 <password> 替換為採購時取得的憑證
docker login abyvtgonprm27.azurecr.io -u <username> -p <password>
3. 若尚未執行,請從 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 \
abyvtgonprm27.azurecr.io/vantage-installer:2.7.1
ParameterDescription
-v $PWD/kube:/home/ansible/.kube儲存 kube/config 檔案的 Kubernetes 目錄路徑。
-v $PWD/ssh/ansible:/home/ansible/.ssh/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.ymlenv_specific.yml 檔案的路徑。
-v $PWD/ssl:/ansible/files/ssl:ro包含 SSL 憑證的資料夾路徑,該資料夾中必須包含以下檔案:cert.pemkey.pemadfsroot.pem
4. 連線到 Azure AKS 叢集:
對於虛擬機器部署,請略過此步驟——在步驟 7 的 Kubernetes 安裝期間會自動設定叢集認證資訊。
5. 下載容器映像檔 移轉指令碼會依賴 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"
ansible-playbook -i inventories/k8s playbooks/validate-artifact-manifest.yml
ansible-playbook -i inventories/k8s playbooks/oci-migration.yml
6. 設定 SSH 金鑰權限:
chmod 600 /home/ansible/.ssh/ansible
7. 安裝並設定 Kubernetes 叢集:
ansible-playbook -i inventories/k8s -v playbooks/4-Kubernetes-k8s.yml
8. 執行預先部署檢查並接受法律文件:
ansible-playbook -i inventories/k8s -v playbooks/0-PreflightCheck-k8s.yml
ansible-playbook -i inventories/k8s -v playbooks/legal.yml
此 playbook 將會:
  • 針對其參數在 playbook 的 env_specific.yml 檔案中指定的資源(例如資料庫與 SMTP 連線)執行初步檢查。
  • 要求系統管理員接受 EULA 與 ABBYY 隱私權政策的條款。
9. 安裝產品:
ansible-playbook -i inventories/k8s -v playbooks/site-k8s-deploy.yml
此 playbook 將部署度量與日誌收集系統,並部署 ABBYY Vantage。完成安裝程序所需的時間取決於所選機器的效能,平均約需 10 分鐘。您可以使用任一 Kubernetes 工具(例如 Lens 工具)監控叢集中的 pod 與作業執行情況。為此,請使用在虛擬機器上安裝 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 Parameter 值為 false),則可以在安裝 Vantage 之後啟用它。為此,請將 env_specific.yml 檔案中 logging.enabled Parameter 的值設定為 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