TAO v5.5.0

部署

以下用于在现有 Kubernetes 集群上部署或更新 TAO API 服务。可以使用以下方法启用 HTTPS 并强制用户身份验证,从而实现安全的多租户。如果您已按照平台设置之一进行操作,并且不希望启用安全多租户,则无需执行这些步骤。

可以关闭已部署的 TAO 服务。

复制
已复制!
            

helm delete tao-api

必须使用提供的 Helm chart 来部署 TAO 服务。

复制
已复制!
            

helm fetch https://helm.ngc.nvidia.com/nvidia/tao/charts/tao-api-5.5.0.tgz --username='$oauthtoken' --password=<YOUR API KEY> mkdir tao-api && tar -zxvf tao-api-5.5.0.tgz -C tao-api

如果需要,可以通过更新 chart 的 tao-api/values.yaml 来自定义部署。

  • image 是 TAO API 容器镜像的位置

  • hosttlsSecret 用于启用 HTTPS 和强制用户身份验证,从而实现安全的多租户

  • corsOrigin 用于启用 CORS 和设置来源

  • authClientID 保留供未来 NVIDIA Starfleet 身份验证使用

  • imagePullSecret 是您设置的用于访问 Nvidia 的 nvcr.io 注册表的密钥名称

  • imagePullPolicy 设置为始终从 nvcr.io 获取,而不是使用本地缓存的镜像

  • storageClassName 是由您的 K8s 存储 Provisioner 创建的存储类。在裸机部署中为 nfs-client,在 AWS EKS 上可以为 standard。不提供值将使您的部署使用 K8s 集群的默认存储类

  • storageAccessMode 设置为 ReadWriteMany 以在部署之间重用已分配的存储,或 ReadWriteOnce 以在每次部署时创建新存储

  • storageSize 被许多存储 Provisioner 忽略。但这里是设置共享存储大小的地方

  • backend 是用于训练作业的平台。默认为 local-k8s

  • maxNumGpuPerNode 是分配给每个作业的 GPU 数量。不支持多节点训练,您仅限于集群节点内的 GPU 数量

  • telemetryOptOut 如果您想选择退出 NVIDIA 收集匿名使用情况指标,可以进行设置

创建 tlsSecret 的示例

复制
已复制!
            

openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout tls.key -out tls.crt -subj "/CN=ec2-34-221-205-157.us-west-2.compute.amazonaws.com/O=ec2-34-221-205-157.us-west-2.compute.amazonaws.com" --addext "subjectAltName = DNS:ec2-34-221-205-157.us-west-2.compute.amazonaws.com" kubectl create secret tls tls-secret --key tls.key --cert tls.crt --namespace default

然后部署 API 服务。

复制
已复制!
            

helm install tao-api tao-api/ --namespace default

可以通过查找 Ready 和 Completed 状态来验证部署。

复制
已复制!
            

kubectl get pods -n default

要调试部署,请查找以下命令底部的事件。

复制
已复制!
            

kubectl describe pods tao-api -n default

常见问题是

  • GPU Operator 或 Storage Provisioner pod 未处于 Ready 或 Completed 状态

  • 缺少或无效的 imagepullsecret

上一页 设置
下一页 训练、适配、优化 (TAO) REST API
© 版权所有 2024, NVIDIA。 上次更新于 2024 年 10 月 15 日。