基于 KEDA 的 Kubernetes GPU 自动扩展:构建外部扩展器

基于 KEDA 的 Kubernetes GPU 自动扩展:构建外部扩展器

💡 原文英文,约700词,阅读约需3分钟。
📝

内容提要

KEDA 通过自定义 DaemonSet 解决 Kubernetes 中 GPU 工作负载的自动扩展问题。它利用 NVIDIA 管理库 (NVML) 收集 GPU 指标,如利用率、内存和功耗,并通过 gRPC 提供给 KEDA 操作员,从而实现基于 GPU 性能的自动扩展。这种方法提高了资源利用率,降低了能耗,适用于多种 GPU 工作负载。

🎯

关键要点

  • KEDA 通过自定义 DaemonSet 解决 Kubernetes 中 GPU 工作负载的自动扩展问题。

  • KEDA 利用 NVIDIA 管理库 (NVML) 收集 GPU 指标,如利用率、内存和功耗。

  • KEDA 操作员通过 gRPC 接收 GPU 性能指标,从而实现基于 GPU 性能的自动扩展。

  • 这种方法提高了资源利用率,降低了能耗,适用于多种 GPU 工作负载。

  • KEDA 的架构允许在每个 GPU 节点上运行,收集本地 GPU 指标并通过网络暴露。

  • 预构建的配置文件为常见的 GPU 工作负载类型提供了合理的默认设置。

  • KEDA 支持根据 GPU 内存使用情况进行自动扩展,包括在空闲时缩减到零。

  • KEDA 的外部扩展器接口为 GPU 工作负载提供了原生的自动扩展解决方案。

延伸问答

KEDA 如何解决 Kubernetes 中的 GPU 自动扩展问题?

KEDA 通过自定义 DaemonSet 收集 GPU 指标,并利用这些指标实现基于 GPU 性能的自动扩展。

KEDA 使用哪些 GPU 指标进行自动扩展?

KEDA 使用 GPU 利用率、内存使用率、温度和功耗等指标进行自动扩展。

KEDA 的架构是怎样的?

KEDA 的架构包括在每个 GPU 节点上运行的 DaemonSet,收集本地 GPU 指标并通过 gRPC 暴露这些指标。

KEDA 如何提高资源利用率和降低能耗?

KEDA 通过基于 GPU 性能的自动扩展,提高了资源利用率,减少了不必要的能耗。

KEDA 支持哪些类型的 GPU 工作负载?

KEDA 支持多种 GPU 工作负载,包括 vLLM、Triton 和训练作业等。

如何使用 KEDA 部署 GPU 扩展器?

可以通过 Helm 安装 KEDA 的 GPU 扩展器,并创建相应的 ScaledObject 来配置自动扩展。

➡️

继续阅读