Skip to content

Commit 24b2735

Browse files
committed
docs: update docs
1 parent 5d2c05f commit 24b2735

File tree

4 files changed

+1081
-52
lines changed

4 files changed

+1081
-52
lines changed

README.md

Lines changed: 27 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -28,38 +28,29 @@ foo-1 来代替 foo-0(foo-0 不会被删除),类似于 K8s 中更新一个
2828

2929
### 容器(Container)
3030

31-
*
32-
- [x] 创建 GPU 容器
33-
*
34-
- [x] 创建无卡容器
35-
*
36-
- [x] 升降容器 GPU 配置
37-
*
38-
- [x] 升降容器 Volume 配置
39-
*
40-
- [x] 停止容器
41-
*
42-
- [x] 重启动容器
43-
*
44-
- [x] 在容器内部执行命令
45-
*
46-
- [x] 删除容器
47-
*
48-
- [x] 保存容器为镜像
31+
- [x] 创建 GPU 容器
32+
- [x] 创建无卡容器
33+
- [x] 升降容器 GPU 配置
34+
- [x] 升降容器 Volume 配置
35+
- [x] 停止容器
36+
- [x] 重启容器
37+
- [x] 在容器内部执行命令
38+
- [x] 删除容器
39+
- [x] 保存容器为镜像
4940

5041
### 卷(Volume)
5142

52-
*
53-
- [x] 创建指定容量大小的 Volume
54-
*
55-
- [x] 删除 Volume
56-
*
57-
- [x] 扩缩容 Volume
43+
- [x] 创建指定容量大小的 Volume
44+
- [x] 删除 Volume
45+
- [x] 扩缩容 Volume
5846

5947
### GPU
6048

61-
*
62-
- [x] 查看 GPU 使用情况
49+
- [x] 查看 GPU 使用情况
50+
51+
### Port
52+
53+
- [x] 查看已使用的 Ports
6354

6455
## 快速开始
6556

@@ -127,13 +118,18 @@ vim etc/config.yaml
127118
* 创建 Volume 时生成版本号,默认为 0,当 Volume 被更新后,版本号+1。
128119

129120
程序关闭后,会将 VersionMap 写入 ETCD,当程序再次启动时,从 ETCD 中拉取数据并初始化。
121+
* gpuScheduler:分配 GPU 资源的调度器,将容器使用 GPU 的占用情况保存到 gpuStatusMap。
122+
* gpuStatusMap:
123+
维护服务器的 GPU 资源,当程序第一次启动时,调用 detect-gpu 获取全部的 GPU 资源,并初始化 gpuStatusMap,Key 为 GPU 的
124+
UUID,Value 为 使用情况,0 代表未占用,1 代表已占用。
130125

131-
* gpuStatusMap
126+
程序关闭后,会将 gpuStatusMap 写入 ETCD,当程序再次启动时,从 ETCD 中拉取数据并初始化。
132127

133-
维护服务器的 GPU 资源,当程序第一次启动时,调用 detect-gpu 获取全部的 GPU 资源,并初始化 gpuStatusMap,Key 为 GPU 的
134-
UUID,Value 为 使用情况,0 代表未占用,1 代表已占用。
128+
* portScheduler:分配 Port 资源的调度器,将容器使用的 Port 资源保存到 usedPortSet。
129+
* usedPortSet:
130+
维护服务器的 Port 资源,已经被占用的 Port 会被加入到这个 Set。
135131

136-
程序关闭后,会将 gpuStatusMap 写入 ETCD,当程序再次启动时,从 ETCD 中拉取数据并初始化。
132+
程序关闭后,会将 usedPortSet 写入 ETCD,当程序再次启动时,从 ETCD 中拉取数据并初始化。
137133

138134
* docker:实际创建 Container、Volume等资源的组件,并安装了 NVIDIA Container Toolkit,拥有调度 GPU 的能力。
139135

@@ -143,10 +139,10 @@ vim etc/config.yaml
143139
* /apis/v1/containers
144140
* /apis/v1/volumes
145141
* /apis/v1/gpus/gpuStatusMapKey
142+
* /apis/v1/ports/usedPortSetKey
146143
* /apis/v1/versions/containerVersionMapKey
147144
* /apis/v1/versions/volumeVersionMapKey
148145

149-
150146
* dete-gpu:调用 go-nvml 的一个小工具,启动时会提供一个 HTTP 接口用于获取 GPU 信息。
151147

152148
### 架构图

api/gpu-docker-api-sample-interface.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
## 接口示例文档
22

3+
> ⚠️ **注意**:该文档为手写的示例文档,主要用于解释接口设计,最新版本的接口文档请导入[[gpu-docker-api.openapi.json](gpu-docker-api.openapi.json)]
4+
35
> ⚠️ **注意**:因为使用` RESTful` 风格的 `API` 设计,所以请求接口中会存在 `Path` 参数,为了方便书写,例子中的`请求接口`中使用 `{Param} ` 的方式来表示。同时会标注,本次请求中使用的 `{Param}` 的值
46
>
57
> **📢 关于 Volume 和 Container 的更改操作,如:**

0 commit comments

Comments
 (0)