Configure Pod bandwidth limits
Configure separate network limits for model download and Volcano job Pods
Administrators can use Pod bandwidth limits in Platform Settings to configure model download, Volcano job ingress, and Volcano job egress bandwidth separately. The job settings cover both normal and backfill jobs. The feature is disabled by default so clusters without bandwidth CNI support are not affected.
Cluster capability check
The page checks the following conditions in real time:
- The
kube-flannelnamespace contains thekube-flannel-cfgConfigMap andkube-flannel-dsDaemonSet. cni-conf.jsonin the ConfigMap contains thebandwidthplugin and declares thebandwidthcapability.- The DaemonSet contains an initContainer named
install-bandwidth-pluginthat mounts the host/opt/cni/bindirectory and copies/opt/cni/bin/bandwidthto/host/opt/cni/bin/bandwidth. - The DaemonSet rollout is complete and Ready on every target node.
This is the Flannel deployment contract currently supported by Crater. Other namespaces, resource names, or installation methods are reported as unavailable. The platform refuses to enable limiting if any condition is missing. If support disappears later, Crater persistently disables bandwidth limiting, omits the bandwidth annotations, and continues creating or activating jobs. An administrator must re-enable limiting after the capability recovers.
Settings
- Model download bandwidth: writes the ingress annotation on model-dl Pods and limits downloaded data entering the Pod.
- Job ingress: limits data entering normal and backfill job Pods.
- Job egress: limits data sent from normal and backfill job Pods.
The page separates the numeric value from the unit. Units can be Kbit/s, Mbit/s, or Gbit/s. For example, value 1 with Gbit/s is stored as the Kubernetes quantity 1G.
The value is stored in system configuration and updates do not require a backend restart. Crater reads the latest configuration when it actually creates a model download Pod or Volcano Job. Prequeued jobs use the configuration from activation time, not a submission-time snapshot. Because CNI reads annotations only when creating the Pod sandbox, running Pods are unchanged and must be recreated to use a new value.
Verification note
containerd may provide an initial burst of approximately 512 MiB to bandwidth CNI. Small transfers can fit entirely within this burst and may not show the steady-state limit. Use data substantially larger than 512 MiB when verifying the setting.
Edit on GitHub