GPU标签器-设计流程
2024-02-29 15:07:23 0 举报
用“问题流程图”加“知识点”来梳理你的工作。 AI时代,最需要的是问自己问题的能力。
作者其他创作
大纲/内容
<Makefile>docker login到Harbor上并push
一个GPU Node
本地编译拷贝如何做?
Pod->Container
Golang工程的两阶段编译
输出统一为map[string]GPUInfo如何处理?
Golang工程中internal与pkg的设计
通过$HOSTNAME计算nodeName并nodeSelector选择
影响流程的参数有哪些?
[插入]pkg/checker的要设计哪些interface或struct?
判断nvidia-smi存在并调用如何做?
方案一:轮询nvidia-smi进行云原生封装
kubernetes/client-go对`Node`打Label
自定义GPU标签怎么定义?
在集群中监视所有的节点如何实现?
本地Golang进程GPU标签器
内层internal实则供`sibling`访问
实则是in-clustervs out-of-cluster
K8s容器环境中client-go如何找到apiserver?
一个业务Node
[支线]对封装的函数进行单元测试如何实现?
外网IDE=>内网文件系统=>内网服务器如何单向同步?
本地架构 vs云原生架构设计
重构Labeler对比K8s标签
GPU标签器 —— 开发思路可视化
重构NvidiaSmiChecker功能上浮
本地拷贝编译 vs两阶段镜像编译
etcd
[插入]2阶段编译用golang:1.21.6-alphine3.19如何运行nvidia-smi 510或更高版本?
nvidia-smi
clientcmd.BuildConfigFromFlags(\"\
<deployments>K8s无selector的Daemonset
default风格*启动容器可节省一个command*
容器中Java进程行智
[插入功能]K8s不必要的写入和klog如何减少?
风格log.Warning而非return nil
方案一:轮询nvidia-smi
k8s.io/api与k8s.io/apimachinery中`Node`结构的关系
云原生架构是什么?
③读取自定义GPU标签
K8s容器环境中nvidia-smi如何被访问到?
K8s集群
处理nvidia-smi --query-cpu格式的输出如何封装复用?
容器Golang进程GPU标签器
GPU标签器的 无selector的 Daemonset
多种类型的GPU
逻辑路线 & 问题回答
内网文件系统=>内网服务器上传如何保护git文件?
完成部署调试
向K8s写入标签如何做?
String参数设计:nodenamekubeconfigchecker*次要*mockfile*次要*
本地(out-of-cluster)vs 容器(in-cluster)问题区分
架构设计
云原生架构
.kube/config
Bool参数设计:no-sync
Golang工程的本地编译
[遗漏实现]nodename在容器中如何获取?
工作效率
X 不实现
Daemonset无法维持全部Running单容器(Job)运行同上本地运行没有问题
一个control-plane节点
sa对象
kubernetes/client-go在本地与容器中如何初始化
2阶段编译如何做?
本地的参数列表有哪些?
本地和容器都使用的关键参数:nodename
另一个普通Node
顶层internal实则限制模块间访问
K8s apiserver
K8s标签无变化程序如何行为?
目的是让我能用gpt生成代码
目的是什么?
在K8s集群上,用Label注明每个Node上有多少个什么类型的GPU
本地编译如何做?
某特定节点上容器中必要的环境变量、nvidia-smi如何快速查?
结束v0.2.0的开发
Bump Version!提升版本并在脚本和yaml中引用新版本
X
rest.InClusterConfig()的2文件+2环境变量
不启动、日志如何查看?
完成本地调试
监听mock文件如何实现?
外网IDE编辑与内网git保持一致如何实现?
程序控制流程谁来驱动同步?
知识路线
[插入]main->checker->labeler的逻辑如何解耦?
直接K8s的Downward API
单向同步构流程做好后如何验证?
<Makefile>实现任务依赖并一键推送docker-push: docker-build
GPU信息无变化程序如何行为?
①轮询其状态
GPT如何“自定义地”生成代码?
K8s容器环境中client-go的权限如何用sa限制?
<deployments>rbac.a__.k8s.io的3对象设计
完成流程打通
仅本地使用的关键参数:kubeconfig
调试过程有哪些问题?
找不到nvidia-smi时不退出程序用什么风格编写?
②写入自定义GPU标签
GPT如何生成项目结构?
保证容器中镜像是预期的如何做到?
[支线]对nvidia-smi注册/劫持测试如何实现?
[新功能]被人为、意外修改的标签如何修正、覆盖?
Deploy->Pod->Container
nvml的cgo调用如何实现?
本地架构
<Dockerfile>两阶段编译的go镜像与cuda镜像抉择及其兼容性问题
就一个Checker驱动的风格勿加额外Ticker*可以重构为main来驱动*
模块间控制vs包间控制
本地架构是什么?
给GPT上下文代码参考给GPT输入输出参考**给GPT问题确认
收藏
0 条评论
下一页