news 2026/9/3 7:22:37

K8S系列之7.2:异构计算(GPU与vGPU在K8S中的管理与应用)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
K8S系列之7.2:异构计算(GPU与vGPU在K8S中的管理与应用)

在AI时代,GPU已成为企业最宝贵的计算资源之一。如何在Kubernetes中高效管理、调度和共享这些昂贵的异构计算资源,是每个云原生AI平台必须解决的核心问题。

引言:AI计算的新挑战

传统GPU使用模式的痛点:

  • 资源孤岛:GPU服务器独立管理,无法形成资源池
  • 利用率低下:单个任务无法充分利用整卡资源,平均GPU利用率不到30%
  • 调度困难:手动分配GPU,缺乏统一的调度和排队机制
  • 成本高昂:A100/H100等高端GPU单卡成本数万到数十万

Kubernetes GPU管理的价值:

  • 资源池化:将分散的GPU资源统一管理,形成共享资源池
  • 弹性伸缩:根据AI任务需求动态分配和释放GPU资源
  • 成本优化:通过vGPU切分和混部提升资源利用率
  • 标准化运维:统一的监控、运维和故障处理机制

一、Kubernetes GPU基础架构

1.1 设备插件(Device Plugin)机制

调度流程
Kubernetes节点
1. 发现设备
2. 健康检查
3. 注册资源
4. 上报资源
5. 调度决策
6. 分配设备
7. 设备准备
调度器
API Server
扩展资源注册
设备插件接口
kubelet
Device Plugin
GPU硬件
NVIDIA驱动
容器
Container Runtime

1.2 NVIDIA Device Plugin部署

基础部署配置
# nvidia-device-plugin-daemonset.yamlapiVersion:apps/v1kind:DaemonSetmetadata:name:nvidia-device-plugin-daemonsetnamespace:kube-systemlabels:k8s-app:nvidia-device-pluginspec:updateStrategy:type:RollingUpdaterollingUpdate:maxUnavailable:1selector:matchLabels:k8s-app:nvidia-device-plugintemplate:metadata:labels:k8s-app:nvidia-device-pluginspec:priorityClassName:system-node-criticaltolerations:-key:CriticalAddonsOnlyoperator:Exists-key:nvidia.com/gpuoperator:Existseffect:NoSchedulenodeSelector:# 仅在有GPU的节点上运行nvidia.com/gpu.present:"true"containers:-image:nvcr.io/nvidia/k8s-device-plugin:v0.14.1name:nvidia-device-plugin-ctrsecurityContext:allowPrivilegeEscalation:falsecapabilities:drop:["ALL"]volumeMounts:-name:device-pluginmountPath:/var/lib/kubelet/device-plugins-name:nvidia-drivermountPath:/usr/local/nvidiareadOnly:trueenv:-name:PASS_DEVICE_SPECSvalue:"true"-name:FAIL_ON_INIT_ERRORvalue:"true"-name:NVIDIA_VISIBLE_DEVICESvalue:"all"-name:NVIDIA_DRIVER_CAPABILITIESvalue:"compute,utility"-name:LD_LIBRARY_PATHvalue:/usr/local/nvidia/lib:/usr/local/nvidia/lib64resources:requests:cpu:50mmemory:100Milimits:cpu:100mmemory:300Mivolumes:-name:device-pluginhostPath:path:/var/lib/kubelet/device-plugins-name:nvidia-driverhostPath:path:/usr/lib/modules/nvidia
节点标签与污点
# 标记GPU节点kubectl label nodes<node-name>nvidia.com/gpu.present=true kubectl label nodes<node-name>accelerator=nvidia-tesla-a100 kubectl label nodes<node-name>gpu-type=a100 kubectl label nodes<node-name>gpu-memory=40Gi# 添加污点(可选)kubectl taint nodes<node-name>nvidia.com/gpu=true:NoSchedule# 查看节点GPU信息kubectl describe node<node-name>|grep-A10"Capacity"

1.3 GPU资源请求与限制

# gpu-pod-example.yamlapiVersion:v1kind:Podmetadata:name:gpu-podlabels:app:ai-trainingspec:# 节点选择nodeSelector:accelerator:nvidia-tesla-a100# 容忍GPU污点tolerations:-key:nvidia.com/gpuoperator:Existseffect:NoSchedulecontainers:-name:cuda-containerimage:nvidia/cuda:12.1.0-base-ubuntu22.04command:["/bin/bash"]args:["-c","nvidia-smi && sleep infinity"]# GPU资源请求resources:limits:# 请求整张GPU卡nvidia.com/gpu:1# 也可以指定具体型号# nvidia.com/gpu.a100: 1# nvidia.com/gpu.v100: 2# GPU内存限制(需要MIG或vGPU)# nvidia.com/gpumem: 10Gi# 其他资源cpu:"4"memory:"16Gi"requests:nvidia.com/gpu:1cpu:"2"memory:"8Gi"# 安全上下文(需要特权才能访问GPU)securityContext:privileged:true# 环境变量env:-name:NVIDIA_VISIBLE_DEVICESvalue:"all"-name:NVIDIA_DRIVER_CAPABILITIESvalue:"compute,utility,graphics,video"# 挂载NVIDIA驱动volumeMounts:-name:nvidia-drivermountPath:/usr/local/nvidiareadOnly:truevolumes:-
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/2 11:01:18

基于Springboot流浪动物救助系统cqy142wz(程序、源码、数据库、调试部署方案及开发环境)系统界面展示及获取方式置于文档末尾,可供参考。

一、系统程序文件列表 二、开题报告内容 基于Spring Boot的流浪动物救助系统开题报告 一、研究背景与意义 研究背景 随着城市化进程加速&#xff0c;流浪动物数量呈快速增长趋势。据不完全统计&#xff0c;我国城镇流浪动物数量已超过5000万只&#xff0c;且每年以15%-20%的…

作者头像 李华
网站建设 2026/9/2 6:21:32

天津到东营危险品物流运输公司 | 天津危化品专线直达东营 | 危险品仓储运输一体化

全链条服务覆盖天津至东营的危化品运输通道已形成成熟服务体系&#xff0c;覆盖全国34个省级行政区域&#xff0c;重点辐射京津冀、长三角及珠三角经济带。该线路支持医疗废弃物、腐蚀性化学品等9大类危险品运输&#xff0c;配套智能仓储系统实现货物分类存储与全流程溯源管理。…

作者头像 李华
网站建设 2026/9/2 13:20:56

当工具开始“理解“我:一个技术人的情感觉醒

从代码沉默到情感共鸣的AI共创之旅在代码和电路板之间穿梭了二十多年&#xff0c;见证过拨号上网的嘶鸣&#xff0c;也亲手部署过云计算集群。人们说技术人是理性的&#xff0c;是逻辑的&#xff0c;是不善表达的——我曾经也这么认为。直到AI开始"听懂"我的语无伦次…

作者头像 李华
网站建设 2026/9/2 20:33:07

练习(应用)

1.求saaaaaaaaaaaa…a的值&#xff0c;其中a是一个数字。例如222222222222222(此时共5个数相加)&#xff0c;几个数相加有键盘控制 2.一个数如果恰好等于它的因子之和&#xff0c;这个数就称为"完数"&#xff0c;例如 6123 &#xff0c;请编程找出 1000 以内的所有完…

作者头像 李华
网站建设 2026/9/2 11:07:26

基于51单片机的无线鼠标实验设计

第一章 实验设计背景与核心意义 随着计算机外设技术的发展&#xff0c;无线鼠标因摆脱线缆束缚、使用灵活的特点&#xff0c;成为主流输入设备。传统无线鼠标多基于专用芯片设计&#xff0c;而基于51单片机实现无线鼠标功能&#xff0c;能深入理解人机交互原理、无线通信技术与…

作者头像 李华
网站建设 2026/9/2 23:01:41

基于51单片机的鸡苗孵化基地环境监控系统设计与实现

第一章 设计背景与核心目标 鸡苗孵化对环境要求极为严苛&#xff0c;温度、湿度、二氧化碳浓度的微小波动都会影响孵化率——适宜温度需稳定在37.8-38.5℃&#xff0c;湿度保持在50%-65%RH&#xff0c;二氧化碳浓度需低于0.5%&#xff0c;传统人工监控方式存在响应滞后、误差大…

作者头像 李华