RuntimeClass objects expose configured handlers to Pods. The runtime catalog describes installed handlers, platform compatibility, and behavior. A handler’s presence on a Node doesn’t mean that a RuntimeClass with the same name exists. Availability depends on the Node image and cluster configuration.
Runtime catalog
The following catalog describes installed handlers and their platform compatibility, which doesn’t establish customer support. A Node advertises each available handler with a label namednode.coreweave.cloud/container-runtime.[HANDLER] set to "true", where [HANDLER] is the handler name. These labels describe availability on that Node, not every ncore image or platform.
RuntimeClass selection
A Pod selects the Kubernetes name of a RuntimeClass, not a Node label or containerd handler directly. The RuntimeClass’shandler field determines which installed handler runs the Pod.
List the RuntimeClasses configured in your cluster:
An installed handler such as
runc or nvidia doesn’t establish that a same-named RuntimeClass exists. Inspect your cluster’s RuntimeClasses before choosing a value for spec.runtimeClassName.
To select a class, set spec.runtimeClassName on a Pod. For example, the following excerpt selects the GPU Kata class:
[RUNTIME-CLASS] with its Kubernetes name:
CPU Kata classes use runtime capability labels such as
node.coreweave.cloud/container-runtime.cw-kata-qemu: "true".
The GPU Kata class selects virtualization Nodes. New installations use the cw-kata-nvidia-gpu handler and require its capability label. Existing classes can retain the equivalent legacy handler kata-nvidia-gpu-cw. In both cases, Pods select runtimeClassName: cw-kata-nvidia-gpu.
GPU Kata resource requirements
The GPU Kata configuration uses separate values for container memory, virtual machine (VM) memory, hugepage allocation, and scheduler overhead.
The GPU Kata example uses
10Gi of workload container memory and 20Gi of hugepages. In the documented configuration, with no memory resources specified for the metrics sidecar or other injected containers, VM sizing is 8Gi + 10Gi = 18Gi, within the hugepage reservation. Include native sidecar memory limits and any memory added during admission when sizing other Pods. A larger hugepage request doesn’t enlarge the VM.
The host hugepage reservation doesn’t create guest-side hugepages for the application. Guest-side hugepages require a separate emptyDir volume with medium: HugePages.
GPU passthrough removes the assigned GPU from host GPU exporters. Run cks-metrics-agent inside every GPU Kata Pod to supply GPU metrics to CKS. See the complete Pod manifest.