本页仅适用于 Azure AKS 部署。对于虚拟机部署,请参阅安装指南。
本指南将逐步引导您使用 Azure CLI 和 ARM 模板,为 ABBYY Vantage 创建所需的 Azure 基础架构。该基础架构是在 Vantage 安装程序容器内创建的。
在开始之前,请确保您具备:
- 具有创建和管理资源权限的 Azure 订阅
- 在本地计算机上安装了 Docker
- 可访问互联网,以便下载容器镜像
- 对于高可用性配置:在虚拟机(VM)上部署的 Redis 集群(参见 系统要求)
在创建基础架构的同时,您可以开始下载容器镜像,因为该操作可能耗时较长。
将创建下列 Azure 资源:
Azure Subscription
└── Resource Group
├── AKS Cluster
│ ├── Services Node Pool (Standard_D8as_v5)
│ └── Workers Node Pool (Standard_D16as_v5)
├── Storage Accounts (5)
│ ├── Skills (Premium/Hot)
│ ├── Processing (Standard/Hot)
│ ├── Temporary (Standard/Hot)
│ ├── Shared Folders (Premium FileStorage)
│ └── Archive (Standard/Cool)
├── Azure SQL Server
│ └── Elastic Pool Database
└── Public IP Address
首先,下载 Vantage 安装程序镜像,并将其推送到您的容器注册表。
# 登录 Vantage Docker 注册表
docker login abyvtgonprm27.azurecr.io -u <username> -p <password>
# Pull the installer image
docker pull abyvtgonprm27.azurecr.io/vantage-azure:2.7.1
# Tag for your registry
docker tag abyvtgonprm27.azurecr.io/vantage-azure:2.7.1 \
registry.yourdomain.tld/vantage/vantage-azure:2.7.1
# Push to your registry
docker push registry.yourdomain.tld/vantage/vantage-azure:2.7.1
将 <username> 和 <password> 替换为购买时提供的凭据。
启动安装程序容器。本指南中所有后续命令均在此容器内执行。
docker run -it registry.yourdomain.tld/vantage/vantage-azure:2.7.1
在容器中登录到你的 Azure 帐户:
# 登录 Azure(打开浏览器进行身份验证)
az login
# Set the subscription
az account set --subscription <subscription_id>
将 <subscription_id> 替换为您的 Azure 订阅 ID。
在所需的 Azure 区域中创建资源组:
az group create --location <location> --resource-group <resource_group_name>
示例:
az group create --location eastus --resource-group vantage-prod-rg
常见的 Azure 区域:eastus、eastus2、westus2、westeurope、northeurope
预览部署
首先,查看将会创建的资源:
az deployment group what-if --name aks-cluster \
--resource-group <resource_group_name> \
--template-file files/infrastructure/azure/arms/Cluster.Manual.json \
--parameters kubernetesClusterName=<cluster_name>
az deployment group create --name aks-cluster \
--resource-group <resource_group_name> \
--template-file files/infrastructure/azure/arms/Cluster.Manual.json \
--parameters kubernetesClusterName=<cluster_name> \
--parameters enableFIPS=false
此命令在 无高可用性 配置下创建一个集群,可在 8 小时内处理 50,000 个页面。对于其他配置,请在集群创建后使用性能指南修改节点池设置。
针对符合 FIPS 要求的部署,请设置 enableFIPS=true。有关其他配置,请参阅 FIPS 合规性。
az deployment group what-if --name storage \
--resource-group <resource_group_name> \
--template-file files/infrastructure/azure/arms/StorageAccounts.Template.json
az deployment group create --name storage \
--resource-group <resource_group_name> \
--template-file files/infrastructure/azure/arms/StorageAccounts.Template.json \
--parameters kubernetesClusterName=<cluster_name> \
--parameters enableFIPS=false
获取用于在 env_specific.yml 文件中填充 s3storage 部分的访问密钥和私密密钥:
az deployment group show --name storage \
--resource-group <resource_group_name> \
--query properties.outputs -o yaml
保存输出结果——在配置 env_specific.yml 文件时将用到这些值。
预览部署
az deployment group what-if --name dbservers \
--resource-group <resource_group_name> \
--template-file files/infrastructure/azure/arms/Databases/DB.Server.Template.json \
--parameters serverBaseName=<cluster_name> \
--parameters dbAdminLogin=<db_username> \
--parameters dbAdminPassword=<db_password>
az deployment group create --name dbservers \
--resource-group <resource_group_name> \
--template-file files/infrastructure/azure/arms/Databases/DB.Server.Template.json \
--parameters serverBaseName=<cluster_name> \
--parameters dbAdminLogin=<db_username> \
--parameters dbAdminPassword=<db_password>
dbAdminLogin 和 dbAdminPassword 这两个 Parameter 是用于访问数据库的凭据。请将它们保存到 env_specific.yml 配置文件中。
预览部署
az deployment group what-if --name databases \
--resource-group <resource_group_name> \
--template-file files/infrastructure/azure/arms/Databases/SQL.Databases.Template.json \
--parameters serverBaseName=<cluster_name>
az deployment group create --name databases \
--resource-group <resource_group_name> \
--template-file files/infrastructure/azure/arms/Databases/SQL.Databases.Template.json \
--parameters serverBaseName=<cluster_name>
获取 AKS 集群的节点资源组名称:
az aks show --name <cluster_name> -g <resource_group_name> \
--query nodeResourceGroup -o tsv
保存此值——稍后您将在该资源组中创建公共 IP 地址。
-
在第 9 步中创建的节点资源组内创建一个 Azure 公共 IP(Standard Static IPv4),或将现有的 Public IP 移动到该资源组。
-
记录该 IP 地址,用于
env_specific.yml 配置:
loadbalancer:
external_ip: <your_public_ip_address>
-
创建 DNS A 记录,将你的域名指向此 IP 地址。
如果计划部署 GPU worker 节点用于训练深度学习技能:
ansible-playbook -i inventories/azure -v \
playbooks/infrastructure/azure/02_install_gpu_driver.yml
有关 GPU 部署要求,请参阅系统要求。
完成这些步骤后,您将获得以下资源:
| 资源 | 用途 |
|---|
| 资源组 | 所有 Vantage 相关资源的容器 |
| AKS 集群 | 用于运行 Vantage 的 Kubernetes 集群 |
| 服务节点池 | 运行 Vantage 平台服务 |
| 工作节点池 | 运行文档处理工作节点 |
| 技能存储账户 | 存储技能定义和配置 |
| 处理存储账户 | 在处理过程中存储文档 |
| 临时存储账户 | 事务的临时存储 |
| 共享文件夹存储账户 | 用于访问导入/导出的共享文件夹 |
| 归档存储账户 | 长期文档归档 |
| Azure SQL Server | 数据库服务器 |
| Azure SQL Database | Vantage 运行时数据库 |
| 公共 IP 地址 | 用于从外部访问 Vantage |
完成基础架构创建后:
-
配置 env_specific.yml - 使用本指南中提供的值进行填充。完整的配置格式请参见 安装。
-
下载容器镜像 - 将 Vantage 镜像同步到容器镜像仓库(注册表)。
-
运行安装 - 使用 playbook 完成安装。
继续前往 安装 了解完整的安装流程。
请确保您的 Azure 帐户具备以下权限:
- 在订阅或资源组上拥有“参与者 (Contributor)”访问权限
- 创建 AKS 集群、存储帐户和 SQL 数据库的权限
群集名称不得超过 15 个字符。请使用更短的名称。
Azure 存储帐户名称在全局范围内必须唯一。ARM 模板会根据你的集群名称生成名称。如果存在冲突,请尝试使用其他集群名称。
请确保 Azure SQL 数据库的防火墙规则允许来自 AKS 集群出站 IP 地址的连接。您可能需要添加虚拟网络规则或允许 Azure 服务访问。