在安装 Vantage 之前,请准备并配置以下外部组件:
- 一台已安装 Docker 且可访问互联网的机器(在该机器上安装 Vantage)
- 具备互联网访问能力(安装期间可访问互联网)的虚拟机,用作 Kubernetes 节点
- 用于存储 Docker 镜像的容器镜像仓库/注册表
- 用于支持 Vantage 运行的关系型数据库管理系统 (RDBMS)
- 用于向 Vantage 用户发送电子邮件的 SMTP 服务器
- 用于建立加密通信的 TLS 证书
- 2 个静态 IP 地址——一个用于 Kubernetes 配置/管理,一个用于访问 Vantage
- 用于访问 Vantage 的 DNS 记录
- 外部存储(在未配置高可用性时可选)
用于安装 Vantage 的机器需要满足以下条件:
- Linux 操作系统或 Windows Subsystem for Linux (WSL)
- Docker 版本 19.03 或更高版本
- 具备可访问
abyvtgonprm27.azurecr.io 的网络连接
- 本地文件中包含供
ansible 用户账户使用的 SSH 私钥(未设置密码短语)
所有虚拟机可以部署在 VMware 或 Hyper-V 上,并且必须具备:
- 一个静态 IP 地址
- 一个名为
ansible 的用户账户,且该账户具有:
- 通过共享 SSH 密钥进行访问
- 带有 NOPASSWD 选项的 sudo 访问权限
- 在每个 worker 节点上挂载到
/opt/local-path-provisioner 的独立且可扩展的磁盘 / lvm_volume
- 在安装期间可访问容器镜像仓库和软件包仓库的 Internet 连接:
通用要求(适用于所有发行版):
curl, socat, unzip, e2fsprogs, xfsprogs, ebtables, tar
按操作系统区分:
python3-apt, apt-transport-https, software-properties-common,
conntrack, libseccomp2
device-mapper-libs, nss, conntrack, container-selinux, libseccomp
在集群安装完成后,虚拟机必须能够访问以下资源:
https://licensing-us.abbyy.com
- 邮件服务器,其 SMTP 设置在
env_specific.yml 文件中配置(用于发送电子邮件邀请、找回密码等)。
- 所有您计划在 Vantage 的 Process 技能中用于导入电子邮件的邮件服务器。这些必须是已为相应导入用电子邮件地址完成注册的邮件服务器。
此处列出了所需虚拟机的最小数量。根据性能需求不同,可能需要不同数量的虚拟机。
| Kubernetes 节点类型 | Master 节点 | Worker 节点(Services) | Worker 节点(Workers) |
|---|
| 操作系统 | Ubuntu 20.04 或 RHEL 8 | Ubuntu 20.04 或 RHEL 8 | Ubuntu 20.04 或 RHEL 8 |
| 虚拟机数量 | 3 | 4 | 1 |
| CPU 核心数(每台虚拟机) | 2 | 12 | 12 |
| 内存,GB(每台虚拟机) | 4 | 48 | 48 |
| Kubernetes 磁盘存储,GB(每台虚拟机) | 50 | 80 | 80 |
/opt/local-path-provisioner 挂载点的磁盘/卷,GB | 不需要 | 至少 40 | 至少 40 |
| 网络带宽,Gbps(每台虚拟机) | 1 | 1 | 1 |
| Kubernetes 节点类型 | 主节点 | 工作节点(Services) | 工作节点(Workers) |
|---|
| 操作系统 | Ubuntu 20.04 或 RHEL 8 | Ubuntu 20.04 或 RHEL 8 | Ubuntu 20.04 或 RHEL 8 |
| 虚拟机数量 | 1 | 1 | 1 |
| CPU 核心数(每台虚拟机) | 2 | 12 | 12 |
| 内存,GB(每台虚拟机) | 4 | 48 | 48 |
| 用于 Kubernetes 的磁盘存储,GB(每台虚拟机) | 50 | 80 | 80 |
用于 /opt/local-path-provisioner 挂载点的磁盘/卷,GB | 不需要 | 至少 40 | 至少 40 |
| 网络带宽,Gbps(每台虚拟机) | 1 | 1 | 1 |
在安装 Vantage 时会安装 Kubernetes 1.28.4 版本。
你可以使用任意容器镜像仓库。
需要一个 Microsoft SQL Server 数据库,并满足以下配置要求:
| Version | OS | CPU cores | RAM, GB | Disk Storage, GB | Full-Text Search |
|---|
| Enterprise 2022 | Linux | 4 | 4 | Recommended: 400, Min: 200 | Enabled |
必须先配置一个外部 SQL 数据库服务器,并确保您拥有创建和管理新数据库所需的相应凭据。
安装程序需要提供 SQL Server 的 IP 地址,以及用于连接数据库的用户名和密码。
服务器应通过 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 参数。
您需要使用通配符证书或特定域证书。
如果您的 Vantage 部署将通过 Custom activity 连接外部服务或导出到外部系统,则证书应由公开信任的证书颁发机构(CA)签发,例如 https://letsencrypt.org/。
1. Kubernetes API 访问。 一个静态 IP 地址,将作为虚拟 IP 地址用于访问 Kubernetes API 服务器端点,以配置和管理集群。应在 env_specific.yml 文件中按如下方式定义该 IP 地址。更多信息请参见“设置配置文件”:
2. 访问 Vantage 服务。 将使用一个静态 IP 地址通过 HTTPS 访问 Vantage 服务。必须预先创建相应的 DNS A 记录。IP 地址应在 env_specific.yml 文件中按如下方式定义。更多信息请参见 Installation:
loadbalancer:
external_ip: X.X.X.X
没有特定要求。
安装程序需要一个主域名以及一个用于访问 Vantage 的 DNS 名称。该 DNS 记录必须指向专用于访问 Vantage 的 IP 地址。
外部存储仅对 非高可用性 配置是可选要求。高可用性配置的磁盘大小要求见《性能指南》。
ABBYY Vantage 会在所提供虚拟机的硬盘上部署本地存储,从而加快产品的安装。但该选项仍可能受到意外重启和虚拟机崩溃的影响。由于这可能导致正在存储的数据丢失,因此建议在安装时使用外部存储。
ABBYY Vantage 允许您按如下所列方式定义特定存储类型的使用方式。
在这种情况下,具有 ReadWriteOnce 且兼容 POSIX 访问模式的卷会在每个 Kubernetes 节点上本地提供到 /opt/local_path_provisioner 目录。对于 ReadWriteMany 类型的卷,Vantage 会在第一个 abbyy_services 节点上部署 in-cluster nfs-kernel-server(该节点的 IP 地址是在 inventory 文件中相应区块中排在第一位的地址)。NFS 服务器的数据将存储在 /opt/local_path_provisioner 目录中,因此请确保在第一个 abbyy_services 节点(该组的第一个节点在 inventory 文件中定义)上为此路径准备了至少 500 GB 容量的独立卷/磁盘。
对于高可用性配置,第一个 abbyy_services 节点还将承载本地持久卷存储。根据处理负载的不同,这将需要额外的硬盘容量。有关所需容量的详细信息,请参阅性能指南。
如果本地持久卷存储空间耗尽,Vantage 可能会停止工作并丢失部分数据。我们建议您在自己的环境中监控可用空间,并针对空间不足配置告警,以便及时扩展存储并防止数据丢失。
Vantage 安装程序允许您自动配置 NFS 存储,将其用作特定服务的 Vantage 存储,例如用于导入和导出到共享文件夹,以及存储由监控收集的数据。
env_specific.yml 文件中的相关配置部分如下所示:
k8s:
storage:
rwx:
external:
enabled: true
type: "nfs"
nfs:
address: <您的 NFS 服务器 IP 地址>
path: <您的 NFS 服务器导出共享路径>
为确保 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” 一节。
如果您想使用非 NFS 的外部存储,请按照以下步骤操作:
- 在安装过程中,在创建 Kubernetes 集群之后(即完成 Running the installation scripts 的第 4 步后),部署相应的 CSI(container storage interface)驱动,并为其创建存储类。
- 使用以下代码填写
env_specific.yml 文件中的 k8s 部分:
k8s:
storage:
rwo:
class_name: "<rwo posix compatible storage class>"
rwx:
class_name: "<read_write_many_storage_class>"
- 继续安装。
对于 NFS 存储,请在 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 可能会停止工作并导致数据丢失。请监控可用空间并设置警报。