GPU Operator 与时间片
쿠버네티스에 GPU 를 붙이는 일은 드라이버를 까는 일이 아니라 노드의 컨테이너 런타임 설정을 오퍼레이터에게 맡기는 일입니다. 그래서 잘 돌던 클러스터가 타임슬라이싱 설정 한 줄 때문에 GPU 전량을 못 쓰게 되는 일이 실제로 일어납니다. 이 코스는 그 사고를 처음부터 다시 밟습니다 — containerd 설정의 병합 규칙, '로드된 것'을 보는 습관, ClusterPolicy 와 데몬셋과 RuntimeClass 의 연결, 타임슬라이싱이 나누는 것과 나누지 않는 것, 그리고 롤아웃이 한 노드에서 멈추는 자리. 실습 환경에는 진짜 GPU 도 GPU Operator 도 없습니다. 설정 파일과 파서, 그리고 kwok 이 띄운 진짜 컨트롤 플레인 위에서 재현할 수 있는 것만 실습으로 다루고, 무엇이 실물이고 무엇이 흉내인지는 실습 안내에 그대로 밝혀 둡니다.
고급 · 레슨 32 · 实验 10
커리큘럼
把 GPU 挂上集群意味着什么
- GPU Operator 是怎么来的 reading
- ClusterPolicy、RuntimeClass、资源上报 reading
- 资源关卡 — 由上报、请求规则、污点分出来的 Pending lab
- 测验:GPU 栈的结构 quiz
运行时注册悄悄失败的地方
- containerd 的配置是怎么合起来的 reading
- 运行时关卡 — 不被校验的字符串与真正加载的东西的对照 lab
- 测验:运行时注册与配置合并 quiz
一张卡多人共用是什么意思
- 时间分片、MPS、MIG reading
- 滚动发布卡在一个节点上的时候 reading
- 共享配置 — 用切片、MIG、配额分开 lab
- 测验:共享与滚动发布 quiz
把事故从头再走一遍
- 什么是真的,什么是装的 reading
- 复现 GPU 事故 — 从配置合并到滚动发布停住 lab
- 测验:从事故复现里学到的 quiz
节点有没有 GPU,这件事写在标签里
标签开到哪里,Operand 才起到哪里
驱动不是应用程序,而是内核模块
- 对齐驱动版本——为什么镜像标签里塞着内核版本 reading
- 内核刚往上走一格,就只有那台节点没了驱动 lab
- 测验:驱动不是应用程序,而是内核模块 quiz
GPU Pod 起不来 — 按顺序缩小原因
- 同样的消息,不同的原因 — GPU 故障分类表 reading
- GPU 故障分类 — 从同一条消息里分出不同的原因 lab
- 测验: 把 GPU 故障分成不同分支 quiz
用什么来看 GPU
- DCGM Exporter 的指标,以及这些指标没告诉你的事 reading
- GPU 指标 — 写出暴露格式、解析它、接到告警上 lab
- 测验: 读懂 GPU 指标 quiz
用 GPU 的不只是容器
- workload.config — 一个标签决定节点的身份 reading
- 沙箱工作负载 — 标签决定资源名,库存随之被切开 lab
- 测验: 沙箱工作负载与资源名 quiz