Skip to main content
Container runtime selection is in private preview. Contact Support to request access before using a non-default runtime. Backwards compatibility between ncore releases isn’t guaranteed. An installed runtime doesn’t establish production support.
The ncore image is the Node operating system image used by CoreWeave Kubernetes Service (CKS). These images include runtime handlers that execute containers. Kubernetes 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 named node.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’s handler field determines which installed handler runs the Pod. List the RuntimeClasses configured in your cluster:
The following mappings are defined by the CKS runtime controllers. Their presence in your cluster depends on cluster enablement: 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:
Inspect a class before use. Replace [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.
QEMU requires hugepages for guest RAM. Missing or insufficient hugepage requests can prevent the sandbox from booting and produce a FailedCreatePodSandBox timeout. Confirm resource sizing for your Node image with CoreWeave before changing the example.
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.
Last modified on October 29, 2026