- 模型推理服务
- 人工智能
- 后端
- 大模型
- MLOps
- LLMOps
【免费下载链接】BentoML
The easiest way to serve AI apps and models - Build Model Inference APIs, Job queues, LLM apps, Multi-model pipelines, and more!
本文是 BentoCloud「Bring Your Own Cloud(BYOC)」在 Microsoft Azure 上部署的完整实操指南,围绕 Azure 服务主体(Service Principal)的创建、最小权限授予与bcAdminSP.json凭证交接展开,适用于计划将 BentoCloud 集群部署到自己 Azure 订阅中的 DevOps 团队。读完本文,你将掌握部署前的配额规划方法、使用 Azure CLI 与官方设置脚本完成资源授权的标准流程,以及交付凭证给 BentoML 团队的完整交接步骤。
背景:为什么要在 Azure 上部署 BentoCloud BYOC
BentoCloud 的 BYOC 方案(属于 Enterprise 计划)将自建云环境的控制力与全托管服务的运维便利结合起来。在 BYOC 模型下,Bento 算子(operators)与 Deployment 都运行在你自己的虚拟私有云(VPC)内,数据与模型始终保存在你的环境中;同时,由 BentoCloud 负责日常运维。详细架构说明可参考 Bring Your Own Cloud 概览文档,该文档指出 BYOC 会自动创建 Kubernetes 集群、对象存储、键值存储等基础设施资源。
要在你的 Azure 订阅中创建并管理这些资源,BentoCloud 需要获得对应的授权。本文所介绍的核心机制是:在 BentoML 的 Azure 租户中配置一个服务主体(Service Principal),并把所需角色授予该服务主体。这个服务主体将被用于在 Azure 账户内创建和管理运行 BentoCloud 所需的各类资源,例如 Azure Kubernetes Service(AKS)、Blob Storage 与 Redis Cache。
第一步:在部署前申请足够的配额
集群创建过程是否顺畅,很大程度上取决于部署目标订阅与区域的配额是否充足。官方建议在开始任何设置之前,先确认你的 Azure 账户中拥有足够的服务配额(Service Quotas),不足时应在计划部署 BentoCloud 的订阅和区域中提前申请提升配额,以避免集群创建被配额限制阻塞。
配额申请操作
- 登录 Azure 门户,在搜索框中输入
Quotas并选择Quotas。在Overview页面中选择Compute。 - 根据部署计划,在正确的订阅与区域中提交配额提升请求。
配额需求速查表
下表是官方建议的配额基线,按 CPU 与 GPU 两类分别说明:
| 类型 | 配额名称 | 需求数量 | 用途 |
|---|---|---|---|
| CPU | Total Regional vCPUs与Standard DSv3 Family vCPUs | 32 | 运行基础设施工作负载、镜像构建 Pod 以及推理服务实例 |
| GPU | 按需选择:T4 对应Standard NCASv3_T4 Family vCPUs;A100 对应Standard NCADS_A100_v4 Family vCPUs | 按需 | 运行需要 GPU 的工作负载 |
需要注意,GPU 配额的具体名称与数量取决于你的实际工作负载类型:如果计划运行 T4 GPU 推理,请关注Standard NCASv3_T4 Family vCPUs;如果计划运行 A100 GPU 推理,请关注Standard NCADS_A100_v4 Family vCPUs。两者都属于按需申请,配额数量依据实际部署规模确定。CPU 侧则建议保证至少 32 个 vCPU 的余量,以覆盖基础设施、镜像构建与模型服务三部分的同时占用。
第二步:配置 Azure 服务主体并运行设置脚本
完成配额准备后,即可开始正式的授权配置。整个过程可以归纳为四个子步骤:登录门户与 CLI、选定订阅、执行官方设置脚本、交接凭证文件。
1. 登录 Azure 门户与 Azure CLI
- 登录 Azure 门户。
- 安装 Azure CLI,然后在终端中运行
az login完成登录认证。
2. 指定目标订阅
如果你的账户下存在多个订阅,务必先切换到计划部署 BentoCloud 的那一个:
az account set --subscription <Subscription Name or ID>这里的<Subscription Name or ID>替换为你的订阅名称或订阅 ID。该步骤很关键:后续设置脚本创建的所有资源都会落在当前选定的订阅内,订阅选错将导致资源被部署到错误的账户环境。
3. 运行官方设置脚本
执行以下命令,该脚本会自动配置 BentoCloud 所需的 Azure 资源(如虚拟机、网络及其他服务),执行过程中会提示你指定 BentoCloud 的部署区域:
bash <(curl https://l.bentoml.com/bentocloud_azure_setup_script -sL)脚本会交互式地询问区域,请根据配额规划阶段确定的部署区域作答。
注意:脚本依赖
jq来解析 Azure CLI 输出的 JSON 结果,请确保你的系统中已安装jq。可通过jq --version验证;若未安装,在 Ubuntu/Debian 上可用sudo apt-get install jq,在 macOS 上可用brew install jq。
4. 脚本授予的权限范围
脚本所配置的权限集,覆盖了创建和管理 BentoCloud 集群在 Azure 上运行所需全部资源的操作,包括:
- Azure Kubernetes Service(AKS):承载 Bento 算子与 Deployment 的容器编排集群;
- Blob Storage:模型与 Bento 包的对象存储;
- Redis Cache:作为键值存储支撑服务状态同步等场景。
权限授予范围被严格限制在资源组bentocloud-<region>内(<region>为你在脚本交互中指定的部署区域),不会授予该资源组以外的任何资源权限。这一设计遵循了最小权限原则:即使服务主体凭证发生泄漏,攻击面也被圈定在单个资源组内,从而降低对 Azure 账户整体的风险。
从仓库源码结构看,BentoCloud 的客户端能力集中在 src/bentoml/_internal/cloud 目录下,其中 client.py、bento.py 与 deployment.py 分别对应 BentoCloud 平台客户端、Bento 上传与管理、Deployment 生命周期管理等能力,配合 BentoML CLI(见 src/bentoml_cli/cli.py)即可在 BYOC 集群就绪后完成 Bento 的部署与发布。BYOC 的 Azure 授权机制正是为这些上层能力提供底层云资源的保障。
5. 交接凭证文件
脚本执行完成后,会在当前目录生成名为bcAdminSP.json的文件,其中包含服务主体的凭据信息。请通过安全渠道(例如加密邮件或受控的密码管理工具)将该文件分享给 BentoML 团队,以便他们使用该服务主体在你的 Azure 账户中创建并管理 BentoCloud 集群。
第三步:交付后的后续流程
将bcAdminSP.json与部署区域信息交给 BentoML 团队后,集群的剩余搭建工作将由 BentoCloud 自动化流程继续完成。在集群创建期间,BentoCloud 会在你的 Azure 资源组内按需创建 AKS、Blob Storage、Redis Cache 等资源,并安装对应的云算子;此后,开发者便可以通过 BentoCloud Console 或 BentoML CLI 部署 Bento,控制平面(Control Plane,部署在你的私有环境之外)会与集群内的远程算子实时同步状态,确保集群状态与配置定义保持一致。
获取帮助与故障排查
如果在设置过程中遇到问题或有疑问,可联系 BentoML 支持团队(support@bentoml.com)或通过官方支持 Slack 频道沟通。支持团队通常可协助解决以下几类问题:
- 每个设置步骤的详细讲解;
- 常见问题的排查,例如 API 激活错误、权限问题或脚本执行失败;
- 在 Azure 环境中管理 BentoCloud 的最佳实践。
关键要点回顾
- 配额先行:在开始设置前,确保目标订阅与区域的
Total Regional vCPUs、Standard DSv3 Family vCPUs及所需 GPU 系列配额充足(CPU 建议 32 vCPU 起步)。 - 授权最小化:官方设置脚本创建的服务主体权限被严格限定在
bentocloud-<region>资源组内,用于 AKS、Blob Storage 与 Redis Cache 的创建与管理。 - 凭证安全交接:
bcAdminSP.json是 BentoML 团队接管集群创建的钥匙,必须通过安全渠道传递。 - 前置依赖:运行设置脚本前需安装 Azure CLI 与
jq,并确认当前订阅正确。
通过以上步骤,你的 Azure 账户即可完成 BentoCloud BYOC 的授权配置,后续的集群创建与运维将由 BentoML 自动化流程接管。
- 模型推理服务
- 人工智能
- 后端
- 大模型
- MLOps
- LLMOps
【免费下载链接】BentoML
The easiest way to serve AI apps and models - Build Model Inference APIs, Job queues, LLM apps, Multi-model pipelines, and more!
相关推荐
Velero 在 Azure 上的完整部署指南:存储账户、服务主体与备份/快照配置实战
Velero 在 Azure 上的完整部署指南:存储账户、服务主体与备份/快照配置实战 本指南以 Velero 官方文档 site/content/docs/v
云原生灾备存储后端在 Azure 上部署与配置 Ark(Heptio Ark v0.10):从存储账户到服务主体与卷快照的完整指南
在 Azure 上部署与配置 Ark(Heptio Ark v0.10):从存储账户到服务主体与卷快照的完整指南 本文以 Ark v0.10.0 的 Azure
云原生灾备存储后端Ark(Velero 前身)在 Azure 上的配置指南:存储账户、服务主体与备份配置全流程
Ark(Velero 前身)在 Azure 上的配置指南:存储账户、服务主体与备份配置全流程 本篇技术指南以 Ark v0.7.0 官方配置文档为核心,完整讲解
云原生灾备存储后端
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考