如何在 GPU 基础设施上实现安全、可扩展的多租户

2025 年 5 月 7 日

作者:Erez Schnaider,ClearML 技术产品营销经理

上一篇博文中,我们奠定了理解 GPU 访问基础设施中多租户的基础,并强调了其关键重要性。在这篇文章中,我们将深入探讨 ClearML 如何实现安全高效的多租户。

从宏观上看,多租户是指在多个逻辑隔离的实体(称为租户)之间共享一个单一资源池(通常是 GPU 或 CPU 集群)的能力。在多客户环境中,租户可以代表外部客户;在大型组织内部,租户可以代表内部部门,例如团队或业务单元。无论结构如何,每个租户都期望数据、计算和身份具有安全边界。

在 ClearML 的模型中,每个租户在身份层面完全隔离,拥有自己的专用 SSO 或身份提供商 (IdP)。没有两个租户共享同一个认证系统,单个用户也不能属于多个租户。在租户内部,使用细粒度的基于角色的访问控制 (RBAC) 来管理不同用户和组之间的权限。

在某些情况下,将为每个租户创建不同的 Kubernetes 集群,以确保维持最高级别的隔离。ClearML 可以在同一平台内管理多个集群,并向相关租户暴露相应的集群。

Figure 1: Multi-tenancy Illustrated
图 1:多租户示意图

我需要安全的多租户能力吗?

为什么需要多租户?为什么不直接拥有一个大型 GPU 池,让所有人按需使用呢?通常是因为存在多个技术挑战需要解决。

第一个挑战在于数据隐私和安全。对于云服务提供商 (CSPs),这意味着在客户之间隔离数据;对于企业,这意味着在处理机密项目的团队之间维持严格隔离。

第二个挑战是资源分配。“先到先得”的共享池在出现紧急工作负载而资源已被分配时会失效。
可以静态分配资源,但这并非完美解决方案。随着 GPU 利用率成为 IT 团队的重要考量,静态分配的资源在某些时候(例如团队休息时间)必然会闲置,并且即使其他团队急需,也无法轻易使用。我们在另一篇博文中讨论了资源管理,但确保共享相同资源(甚至使用分片 GPU 共享同一 GPU)的不同租户无法访问彼此数据对于安全的多租户架构至关重要。

多租户架构

控制平面多租户

ClearML 的基础设施控制平面采用完全多租户架构来管理 AI 研究和基础设施。如前所述,每个租户完全隔离,拥有唯一的标识符和专用的身份提供商 (SSO/IdP),确保资源的严格隔离。项目、实验、数据集、已部署的端点和其他实体都限定在租户范围内——任何两个租户都无法访问或查看彼此的资产。

在每个租户内部,ClearML 执行 RBAC 规则来管理可见性和权限。RBAC 不仅管理对 ClearML 实体(如项目和数据集)的访问,还管理通过队列暴露的硬件资源的访问。队列抽象了 GPU 和 CPU 资源,RBAC 规则定义了哪些用户或组可以查看特定计算资源并向其提交工作负载。通过这种方式,RBAC 在数据层和计算层提供了租户内部的隔离。

计算多租户

多租户的第二个关键方面是管理计算基础设施。目标是共享资源池,同时确保租户保持完全隔离——不仅无法访问,而且彼此不知道对方的资源。在某些情况下,需要完全隔离,ClearML 支持为特定租户分配专用集群。在其他情况下,多个租户可以共享同一集群,平台会强制执行严格隔离。

ClearML 的架构支持多集群配置,允许管理员根据需要混合使用专用集群和共享集群。虽然在 Kubernetes、网络或物理层面的静态资源分配保证了隔离,但这通常导致资源利用率低下和操作摩擦。ClearML 提供动态资源分配,为每个租户提供有保证的资源,并在可用时提供额外的容量。每个租户都有一个预留配额用于可预测的规划,以及一个超额配额用于突发使用。这种方法结合了静态分配的可预测性和动态扩展的灵活性,确保了高集群利用率,同时避免了过度配置造成的浪费。

Kubernetes 已成为基础设施编排的行业标准,提供了强大的扩展和资源管理工具。然而,它最初并非为安全的多租户环境而设计。授予用户直接访问 Kubernetes API 的权限可能使他们接触到低级别的基础设施原语,例如共享网络或持久卷,这可能危及租户隔离。事实上,官方 Kubernetes 文档在许多情况下建议使用专用集群来实现租户之间的严格隔离。

ClearML 通过充当用户和 Kubernetes 之间的安全抽象层来解决这些限制。用户通过 ClearML 平台提交作业,而不是通过 Kubernetes,这消除了对低级访问或 Kubernetes 专业知识的需求。这种设计提高了可用性,同时也加强了租户隔离。只有集群管理员直接与 Kubernetes 交互,从而集中控制已安装的 Kubernetes 应用程序、资源配额和基础设施配置。

ClearML 直接与 Kubernetes 接口,利用标准原语在共享集群中强制执行隔离,同时对提交作业执行的用户隐藏 Kubernetes 的细节。每个租户都使用不同的命名空间、软件定义网络和专用存储卷进行隔离——所有这些都基于为多租户场景设计的原生 Kubernetes 构造。

图 2:多租户资源拓扑

超越多租户

ClearML 的多租户解决方案不仅提供基本隔离,还提供附加的操作价值。通过强制执行租户特定的认证和授权,它实现了安全的服务暴露,确保只有授权用户才能访问已部署的资源,例如模型端点。它还通过结合有保证的每租户配额和突发进入共享基础设施的能力来支持容量共享,使服务提供商能够在不过度配置或依赖外部计算供应商的情况下提供灵活性。最后,ClearML 提供了内置的基于使用量的计费功能,按用户、项目或租户跟踪计算、存储和 API 消耗。这使得企业和服务提供商都能以最小的开销实现客户发票或内部收费。所有这些能力都得益于 ClearML 的多租户架构。

结论

安全的多租户对于在内部团队、业务部门或外部客户之间扩展现代 AI 基础设施至关重要。ClearML 通过结合强大的身份隔离、动态资源分配和基础设施抽象来满足这一需求——同时简化用户体验并集中操作控制。无论您是将内部资源暴露给不同的业务部门,还是向外部客户提供 AI 即服务,ClearML 都提供了大规模运营多租户环境所需的灵活性、安全性和效率。如果您想了解 ClearML 多租户架构的实际应用,请申请演示

Facebook
Twitter
LinkedIn
回到顶部