设置指南#
本文档提供了在 Microsoft Azure 上部署 Tokkio Workflow 的全面指南。虽然在 Azure 云环境中实现 Tokkio Workflow 存在多种方法,但本指南侧重于使用 Tokkio 固化的部署脚本的特定部署方法。这些脚本自动化了设置 Tokkio Workflow 及其所需基础设施组件的过程。
先决条件#
Azure 设置#
具有管理员访问权限的 Azure 帐户
Azure 服务主体,使自动化部署脚本能够使用其进行身份验证
Azure 存储帐户和容器,用于托管自动化部署脚本的状态,以便可以在稍后日期或时间修改或拆除已创建的基础设施
用于托管 Tokkio 应用程序的已注册域名
用于 SSL 支持的 Azure 应用程序证书
有关如何设置此项的说明,请参阅 Azure 文档。您也可以按照环境变量和先决条件设置部分中的说明进行操作。
硬件#
控制器实例#
Ubuntu 22.04 操作系统
生成 SSH 密钥对
确保无密码 sudo 访问
访问权限#
访问启动 Tokkio Pipeline 应用程序期间使用的所有工件。例如,NGC 上的 Tokkio 应用程序 Helm chart。
基础设施布局#
Azure 上的 Tokkio Workflow 设置需要创建多个 Azure 资源,例如虚拟机、网络安全组、应用程序网关、用于托管 UI 内容的 FrontDoor CDN 等。下图显示了此部署脚本将要创建的基础设施布局。

安装步骤#
克隆 NVIDIA/ACE.git 存储库并导航到 azure 部署脚本目录
git clone https://github.com/NVIDIA/ACE.git
cd ACE/workflows/tokkio/scripts/one-click/azure
准备配置文件,可以通过复制基本
config-template.yml
或复制config-template-examples
文件夹下的示例配置文件之一。
#list of example templates
config-template-examples/
├── llm-ov-3d-rp-3x-streams
│ ├── config-template.yml
│ └── my-config.env
└── llm-ue-3d-coturn-3x-streams
├── config-template.yml
├── my-config.env
└── user-helm-override-values.yml
Copy a config template of your choice as base config template for this installation.
cp config-template-examples/llm-ov-3d-rp-3x-streams/config-template.yml ./my-config.yml
使用您的特定设置修改
my-config.yml
vi my-config.yml
设置环境变量。
与
config-template
文件类似,您可以从config-template-examples
文件夹复制示例 env 文件使用您的特定设置修改环境变量文件
cp config-template-examples/llm-ov-3d-rp-3x-streams/my-config.env my-env-file.env
vi my-env-file.env
加载环境变量文件
source my-env-file.env
运行安装命令
./envbuild.sh install --component all --config-file ./my-config.yml
在日志末尾捕获安装结果。输出将如下面的示例所示。
access_urls:
api_endpoint: "https://<api_sub_domain>.<base_domain>"
elasticsearch_endpoint: "https://elastic-<name>.<base_domain>"
grafana_endpoint: "https://grafana-<name>..<base_domain>"
kibana_endpoint: "https://kibana-<name>..<base_domain>"
ui_endpoint: "https://<ui_sub_domain>.<base_domain>"
ssh_command:
app:
bastion: ssh -i /home/my-user/.ssh/id_rsa -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null <username>@<bastion-instance-ip-address>
master: ssh -i /home/my-user/.ssh/id_rsa -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o ProxyCommand="ssh -i /home/my-user/.ssh/id_rsa -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -W %h:%p <username>@<bastion-instance-ip-address>" <username>@<app-instance-ip-address>
turn:
master: ssh -i /home/my-user/.ssh/id_rsa -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null <username>@<turn-instance-ip-address>
验证安装
检查 pod 状态:
kubectl get pods \-n \<application-namespace\>
等待所有 pod 达到 Ready 状态(可能需要长达 60 分钟)
一旦所有 pod 都处于健康状态,您可以使用安装输出中的 URL
access_urls.ui_endpoint
访问 UI首次,浏览器应提示 UI 运行所需的麦克风、扬声器或摄像头等权限。接受权限后,UI 应加载。

卸载步骤#
仅卸载应用程序#
加载正确的环境变量文件
source my-env-file.env
运行以下命令以仅卸载应用程序组件
./envbuild.sh uninstall --component app --config-file ./my-config.yml
通过以下命令清除先前安装中的任何
persistent-volumes
kubectl delete pv -n <application-namespace>
卸载整个设置#
加载正确的环境变量文件
source my-env-file.env
运行以下卸载命令
./envbuild.sh uninstall --component all --config-file ./my-config.yml
注意
此步骤将卸载整个 Kubernetes 集群,即在安装步骤中启动的 Azure 基础设施。因此请谨慎使用。
其他注意事项#
成本#
此设置中的许多资源可能不属于 Azure 的免费层。要了解成本影响,您应查阅 Azure 定价计算器和 Azure 成本管理、账单文档。
安全性#
Tokkio 在生产环境中的安全性是部署它的最终用户的责任。在生产环境中部署时,请让安全专家审查任何潜在的风险和威胁;定义信任边界,保护通信渠道,集成 AuthN
和 AuthZ
与适当的访问控制,保持部署(包括容器)为最新,确保容器安全且没有漏洞。
基本技能和背景#
熟悉 Azure CSP#
用户应基本了解 Azure 云解决方案提供商计划,包括其计费模型和可用服务。
熟悉 Azure Resource Manager (ARM) 至关重要,因为 CSP 中的所有服务都基于 ARM 部署模型
用户应了解任何可能影响某些 Azure 服务或优惠部署的 CSP 特定限制或约束
此外,了解用于管理客户订阅、配置服务和处理支持的 CSP 特定工具和门户是有益的,并且将有助于在 Azure CSP 上有效部署和管理 Tokkio
熟悉命令行界面 (CLI)#
基本命令:用户应熟悉基本命令行操作,例如导航目录、执行脚本和管理文件。
环境配置:了解环境变量以及 PATH 设置在 Linux 上的工作方式将极大地帮助操作 OneClick 脚本。
脚本编写基础知识:基本的脚本编写知识(例如,shell 脚本编写)对于了解 OneClick 脚本的运行方式以及排除可能出现的任何问题很有帮助。
熟悉 YAML#
YAML 语法和结构:YAML 通常用于云原生应用程序中的配置文件,因为它具有可读性和灵活性。OneClick 脚本中使用的配置模板使用 YAML 格式。用户应熟悉 YAML 语法和结构。
熟悉 Kubernetes 生态系统#
Tokkio 管线是一个云原生应用程序,并使用容器化、Kubernetes、helm 等概念。用户需要熟悉这些概念,才能从使用部署脚本和应用程序中获得最佳结果。
Kubernetes 基础知识:用户应基本了解 Kubernetes 核心概念,例如 pod、服务和部署
kubectl:熟悉 kubectl 命令行工具,该工具用于与 Kubernetes 集群交互,包括查询正在运行的应用程序 pod 的状态或日志等。
Helm:了解 Kubernetes 的 Helm 包管理器,它通过管理 chart(预配置 Kubernetes 资源定义的集合)来简化应用程序部署。以及如何将 helm 与覆盖值一起使用将有助于适当地配置模板。