跳轉到主要內容

先決條件檢查清單

在安裝 Vantage 之前,請先準備並設定下列外部元件:
  • 一部已安裝 Docker 並可存取網際網路的機器(執行 Vantage 安裝的機器)
  • 作為 Kubernetes 節點使用的虛擬機器(在安裝期間需能存取網際網路)
  • 用於儲存 Docker 映像檔的容器登錄(Container Registry)
  • 用於 Vantage 運作的關聯式資料庫管理系統 (RDBMS)
  • 用於向 Vantage 使用者傳送電子郵件訊息的 SMTP 伺服器
  • 用於建立加密通訊的 TLS 憑證
  • 2 個靜態 IP 位址—一個用於 Kubernetes 設定/管理,另一個用於存取 Vantage
  • 一筆用於存取 Vantage 的 DNS 記錄
  • 外部儲存空間(選用;僅適用於未使用高可用性組態)

安裝機器需求

用於安裝 Vantage 的機器必須符合以下需求:
  • Linux OS 或 Windows Subsystem for Linux (WSL)
  • Docker 版本 19.03 或更新版本
  • 可連線至 abyvtgonprm27.azurecr.io 的網路
  • 本機需有供 ansible 使用者帳戶使用的私密 SSH 金鑰檔(不得設定密碼)
所有虛擬機器必須使用相同的 SSH 金鑰。

基礎架構需求

所有虛擬機器都可以在 VMware 或 Hyper-V 上執行,並且必須具備:
  • 一個靜態 IP 位址
  • 一個名為 ansible 的使用者帳戶,且具有:
    • 共用 SSH 金鑰存取
    • 具有 NOPASSWD 選項的 sudo 權限
  • 在每個工作節點上掛載到 /opt/local-path-provisioner 的專用可擴充磁碟/lvm_volume
  • 安裝期間可存取容器登錄與套件儲存庫的網際網路連線:
    • 容器登錄中已同步作為安裝 Vantage 先決條件的映像。欲了解更多資訊,請參閱下載容器映像
    • 套件儲存庫:Ubuntu(archive.ubuntu.com)、RHEL(cdn.redhat.com)。若無法直接存取這些套件儲存庫,也可以改為設定存取您自己的儲存庫,該儲存庫必須包含下方列出的所有必要套件。
通用(所有發行版):
curl, socat, unzip, e2fsprogs, xfsprogs, ebtables, tar
作業系統專屬套件:
Ubuntu 20.04RHEL 8
python3-apt, apt-transport-https, software-properties-common, conntrack, libseccomp2device-mapper-libs, nss, conntrack, container-selinux, libseccomp

安裝後的網路存取

叢集安裝完成後,虛擬機器需要能存取:
  • https://licensing-us.abbyy.com
  • 其 SMTP 設定在 env_specific.yml 檔案中指定的郵件伺服器(用於傳送電子郵件邀請、重設密碼等)。
  • 所有您將在 Vantage 流程技能中用於匯入電子郵件的郵件伺服器。

高可用性組態

以下為所需虛擬機器的最小數量。不同的效能需求可能需要不同數量的虛擬機器。
Kubernetes 節點類型Master 節點Worker 節點(服務)Worker 節點(工作者)
作業系統Ubuntu 20.04 或 RHEL 8Ubuntu 20.04 或 RHEL 8Ubuntu 20.04 或 RHEL 8
VM 數量341
CPU 核心數(每台 VM)21212
RAM,GB(每台 VM)44848
Kubernetes 磁碟儲存空間,GB(每台 VM)508080
/opt/local-path-provisioner 掛載點之磁碟/磁碟區,GB不需要最少 40最少 40
網路頻寬,Gbps(每台 VM)111

未啟用高可用性設定

Kubernetes 節點類型主節點工作節點(服務)工作節點(Workers)
作業系統Ubuntu 20.04 或 RHEL 8Ubuntu 20.04 或 RHEL 8Ubuntu 20.04 或 RHEL 8
虛擬機器數量111
CPU 核心數(每部虛擬機器)21212
記憶體,GB(每部虛擬機器)44848
Kubernetes 磁碟儲存空間,GB(每部虛擬機器)508080
/opt/local-path-provisioner 掛載點的磁碟/磁碟區(volume),GB不需要至少 40至少 40
網路頻寬,Gbps(每部虛擬機器)111
安裝 Vantage 時會一併安裝 Kubernetes 版本 1.33.3。

容器登錄庫

您可以使用任何容器登錄庫。

資料庫需求

需要具有下列組態的 Microsoft SQL Server 或 PostgreSQL 資料庫:選項 1:Microsoft SQL Server
版本作業系統CPU 核心數記憶體 (GB)磁碟儲存空間 (GB)全文檢索 (Full-Text Search)
Enterprise 2022Linux44建議:400,最小值:200已啟用
選項 2:PostgreSQL
版本CPU 核心數記憶體 (GB)磁碟儲存空間 (GB)
14+44建議:400,最小值:200
必須先完成外部資料庫伺服器的設定,且您必須擁有建立及管理新資料庫的適當認證資訊。安裝程式需要 SQL Server 的 IP 位址,以及用於連線至資料庫的使用者名稱和密碼。

SMTP Server

伺服器應透過 SMTP 通訊協定運作。 安裝程式需要 SMTP 伺服器的 IP 位址/DNS 名稱、連接埠,以及用來連線至伺服器的密碼(如果伺服器需要驗證)。SMTP 伺服器必須被允許向 Vantage 使用者傳送電子郵件。 env_specific.yml 中設定有驗證或無驗證的 SMTP。
我們建議使用具備驗證的選項(包含登入帳號與密碼)。
使用驗證(建議) 包含登入帳號與密碼。在此情況下,env_specific.yml 檔案中的 smtp 區段應定義如下:
smtp:
  host: X.X.X.X
  login: email
  password: password
  port: 587
  useSSL: false
  secureSocketOptions: null
不使用驗證 不使用登入與密碼的情況下,env_specific.yml 檔案中的 smtp 區段應定義如下:
mailFrom: email
smtp:
  host: X.X.X.X
  login: null
  password: null
  port: 25
  useSSL: false
  secureSocketOptions: None
請記得在根節點中加入 mailFrom Parameter。
我們建議使用具備驗證功能(使用登入與密碼)的選項。

TLS 憑證

您需要萬用字元憑證或特定網域的憑證。 如果您的 Vantage 安裝會使用 Custom activity 連線至外部服務或匯出至外部系統,則憑證應由公開的憑證授權單位(certificate authority)簽發,例如 https://letsencrypt.org/。

靜態 IP 位址

1. Kubernetes API 存取。 一組靜態 IP 位址,將作為虛擬 IP 位址,用於存取 Kubernetes API 伺服器端點以設定與管理叢集。該 IP 位址必須在 env_specific.yml 檔案中按如下方式定義。如需詳細資訊,請參閱「設定組態檔案」:
k8s:
  api:
    ip: X.X.X.X
2. 存取 Vantage 服務。 一組靜態 IP 位址,將用於透過 HTTPS 存取 Vantage 服務。必須事先建立對應的 DNS A 記錄。該 IP 位址必須在 env_specific.yml 檔案中按如下方式定義。如需詳細資訊,請參閱安裝
loadbalancer:
  external_ip: X.X.X.X

用於存取 Vantage 的 DNS 記錄

沒有特定需求。 安裝程式需要一個主要網域名稱與一個 DNS 名稱,該名稱將用於存取 Vantage。此 DNS 記錄必須指向專供存取 Vantage 使用的 IP 位址。

儲存空間需求

外部儲存僅是不含高可用性組態的選用需求。高可用性組態的磁碟大小需求已在《Performance Guide》中說明。ABBYY Vantage 會在提供的虛擬機器硬碟上部署本機儲存,以加快產品的安裝。不過,此選項仍可能受到非預期重新啟動與虛擬機器當機的影響。由於這可能導致正在儲存的資料遺失,因此建議在安裝時使用外部儲存。ABBYY Vantage 允許您依下列方式定義特定儲存類型的使用方式。

使用本機儲存

在此情況下,具備 ReadWriteOnce POSIX 相容存取的 volume 會在每個 Kubernetes 節點本機佈建到 /opt/local_path_provisioner 目錄。對於 ReadWriteMany volume 類型,Vantage 會在第一個 abbyy_services 節點上部署 in-cluster nfs-kernel-server(此節點的 IP 為 inventory 檔案中對應區塊的第一個 IP)。NFS 伺服器的資料將儲存在 /opt/local_path_provisioner 目錄中,因此請確保在第一個 abbyy_services 節點上(此群組的第一個節點在 inventory 檔案中定義)為此路徑配置至少 500 GB 的專用 volume/磁碟。對於高可用性組態,第一個 abbyy_services 節點也會承載本機 Persistent Volume 儲存。其所需的額外硬碟容量取決於處理負載。關於所需容量的詳細資訊,請參閱《Performance Guide》。
如果本機 Persistent Volume 儲存空間耗盡,Vantage 可能會停止運作並遺失部分資料。我們建議您在自身環境中監控可用空間,並設定空間不足警示,以便及時新增儲存空間並防止資料遺失。

使用外部 NFS 儲存

Vantage 安裝程式可讓您自動設定 NFS 儲存,將其作為特定服務的 Vantage 儲存,例如匯入與匯出至共享資料夾,以及儲存監控所收集的資料。env_specific.yml 檔案中的對應區段將如下所示:
k8s:
  storage:
    rwx:
      external:
        enabled: true
        type: "nfs"
        nfs:
          address: <your nfs server IP address>
          path: <your nfs server exported share>
為確保 Vantage 能正常運作,我們建議將 NFS 伺服器的根目錄(例如 /opt/nfs)設定為具有以下權限與擁有者:
drwxr-xr-x 4 65532 65532 4096 Dec 12 09:25 /opt/nfs/
以下是在 Linux 主機作為 NFS 伺服器使用時,/etc/exports 檔案中的目錄設定範例:
/opt/nfs *(rw,sync,all_squash,insecure,no_subtree_check,anonuid=65532,anongid=65532)
如果需要連接其他儲存類型,請參閱下方的 Defining your own storage classes 章節。

Defining Your Own Storage Classes

如果您想使用非 NFS 的外部儲存,請依照以下步驟操作:
  1. 在安裝過程中,於建立 Kubernetes 叢集之後(Running the installation scripts 的步驟 4),部署適當的 CSI(Container Storage Interface)驅動程式,並為其建立儲存類別。
  2. 使用以下程式碼設定 env_specific.yml 檔案中的 k8s 區段:
k8s:
  storage:
    rwo:
      class_name: "<rwo posix compatible storage class>"
    rwx:
      class_name: "<read_write_many_storage_class>"
  1. 繼續進行安裝。
如果本機的持久性磁碟區儲存空間耗盡,Vantage 可能會停止運作並造成資料遺失。請監控剩餘空間並設定警示。

Redis 叢集(僅限 Azure AKS)

Redis 叢集僅在 Azure AKS 高可用性組態中為必要條件。對於虛擬機器部署或非高可用性(non-HA)的 Azure 部署則不需要。
對於 Azure AKS 高可用性部署,需要具備下列設定的外部 Redis 叢集:
ConfigurationRequirement
Redis Version6.2 或更新版本
Number of Nodes6 個節點以上
RAM per Node每個節點至少 4 GB
Cluster Mode已啟用
Cluster Password必須設定
SSH Port22(用於設定)
必須在 redis.conf 中設定下列選項:
appendonly yes
cluster-config-file nodes-6379.conf
cluster-enabled yes
cluster-node-timeout 5000
cluster-require-full-coverage no
maxclients 10000
maxmemory 2048mb
maxmemory-policy noeviction
repl-backlog-size 256mb
repl-ping-slave-period 5
save ""
slave-serve-stale-data yes
stop-writes-on-bgsave-error no
supervised auto
masterauth <password>
requirepass <password>
maxmemory 值應設定為每個 Redis 節點可用記憶體的一半。將 <password> 替換為您的叢集密碼。
目前不支援 Azure Cache for Redis。您必須在 AKS 叢集外部的虛擬機器上部署 Redis。預計在未來版本中將提供對 Azure Cache for Redis 的支援。