最佳实践
配置 Pod 带宽限制
分别配置模型下载和 Volcano 作业 Pod 的网络带宽上限
管理员可以在“平台设置”中的“Pod 带宽限制”分别控制模型下载、Volcano 作业入站和出站带宽。作业配置同时覆盖普通作业与回填作业。该功能默认关闭,避免在尚未安装 bandwidth CNI 的集群上影响作业创建。
集群能力检查
页面会实时检查以下条件:
kube-flannelnamespace 中存在kube-flannel-cfgConfigMap 和kube-flannel-dsDaemonSet。- ConfigMap 的
cni-conf.json已包含bandwidth插件,并声明bandwidthcapability。 - DaemonSet 包含名为
install-bandwidth-plugin的 initContainer,通过挂载节点/opt/cni/bin,将/opt/cni/bin/bandwidth复制到/host/opt/cni/bin/bandwidth。 - DaemonSet 已在全部目标节点完成滚动更新并处于 Ready 状态。
这是 Crater 当前支持的 Flannel 部署契约;使用其他 namespace、资源名称或安装方式时,平台会将能力报告为不可用。任一条件不满足时,平台会禁止开启限速。功能已经开启但集群能力随后失效时,Crater 会将限速开关持久化关闭、停止写入 bandwidth annotation,并继续创建或激活作业。能力恢复后,需要管理员重新开启限速。
配置项
- 模型下载带宽:写入 model-dl Pod 的入站 bandwidth annotation,限制下载数据进入 Pod 的速率。
- 作业入站带宽:限制流入普通与回填作业 Pod 的速率。
- 作业出站带宽:限制从普通与回填作业 Pod 发出的速率。
页面将数值和单位分开填写,单位可选择 Kbit/s、Mbit/s 或 Gbit/s。例如数值 1 配合 Gbit/s 会保存为 Kubernetes 数量 1G。
配置保存在系统配置中,修改后无需重启后端。Crater 会在实际创建模型下载 Pod 或 Volcano Job 时读取最新配置;Prequeue 作业使用激活时的配置,而不是提交时的快照。CNI 只在 Pod sandbox 创建时读取 annotation,因此已经运行的 Pod 不会被在线修改,必须重建后才能使用新值。
验证注意事项
containerd 传给 bandwidth CNI 的初始 burst 可能约为 512 MiB。小文件传输可能完全落在 burst 内,看不出稳定限速效果;验证时应使用明显超过 512 MiB 的数据量。
Edit on GitHub