NVIDIA has announced two new open-source projects—NVIDIA Kubernetes Engine (NVKE) and NVIDIA Kubernetes Recipes (NVKR)—designed for building and operating managed Kubernetes services specifically on GPU infrastructure. Both tools are part of the comprehensive NVIDIA DSX AI Factory Platform and are currently available in public preview. The platform aims to provide AI factory customers with a streamlined way to provision and operate GPU capacity using established Kubernetes APIs, while maintaining strong control over the underlying software stack.
The Role of NVKR and NVKE
The complexity of delivering managed GPU clusters—which involves qualifying GPU hardware, networking, drivers, and software across various Kubernetes versions—is addressed by dividing the responsibilities between two distinct components.
NVIDIA Kubernetes Recipes (NVKR) is responsible for creating reproducible software builds. It generates necessary artifacts, including container images, node images, and packages, by pulling sources defined by specific versions. By logging all inputs, NVKR allows teams to fully track and reproduce the software contained within every generated image.
NVIDIA Kubernetes Engine (NVKE) utilizes these artifacts to manage the entire cluster lifecycle. It provides the necessary software components, including a REST API and control plane controllers, to provision and govern the Kubernetes clusters on the factory’s infrastructure. Although the projects can be used independently, they are designed to work together.
Both NVKR and NVKE are released under the Apache 2.0 license, encouraging community inspection and development.
Cluster Provisioning Architecture
The overall architecture involves the NVKR and NVKE components working together, supported by external infrastructure controllers.
The process begins with the `nvkectl` command, which initiates a temporary seed cluster on a bootstrap host. This temporary cluster then facilitates the formation of the primary management cluster. The NVKE management plane, which contains the REST API and controllers, operates within this management cluster. From there, the management plane is responsible for creating dedicated workload clusters for the AI factory’s customers, each equipped with its own control plane, etcd, and node pools.
The bare-metal lifecycle of the required servers is managed by the NVIDIA Infra Controller (NICo), which interfaces with the Cluster API infrastructure provider for NICo (CAPNICo). Furthermore, nodes must present an attested SPIFFE identity before they are granted the credentials needed to join the cluster. For monitoring, the NVKE telemetry pipeline, an OpenTelemetry-based Helm chart, collects and exports logs, metrics, and traces using OTLP.
Lifecycle Walkthrough: From Bare Metal to Customer Cluster
The deployment process detailed involves several critical steps, beginning with prerequisites and culminating in customer access.
Building the Node Image with NVKR
NVKR defines the validated Kubernetes software configuration and generates a reproducible pipeline. Teams use NVKR to build node images from version-pinned sources, ensuring traceability. The build process compiles the NVKE node agent and OVN-Kubernetes from source and incorporates checksum-pinned upstream releases of the Kubernetes 1.36 packages and the SPIRE agent. This results in a QCOW2 disk image.
To initiate this build, the following commands are executed on the build host:
$ git clone https://github.com/dsx-ai-factory/nvkr.git && cd nvkr
$ bash scripts/nvkr-quickstart.sh
$ NVKE_OS_ARCH=amd64 scripts/nvke-os-local.sh node-image-01
Deploying the NVKE Management Plane
The management plane is deployed using the `nvkectl` command on the bootstrap host. This command requires a site specification file, such as `site-a.yaml`, which informs NICo of the necessary inputs to provision the three servers for the management cluster.
The initial bootstrap command is:
$ nvkectl bootstrap site -f site-a.yaml
–nvke-controller-image registry.example.com/nvke/nvke-controller:
After the bootstrap process uses the newly built node image to provision the three nodes, the temporary cluster is removed, leaving behind the permanent management cluster. The team then configures the command-line tool using `nvkectl config set-site`.
Publishing and Creating Customer Workloads
Customers interact with the system by selecting a validated release set, which is published by the AI factory. A release set comprises three elements:
- A machine image (used by NICo’s iPXE script for booting).
- A cluster release (pairing the machine image with cloud-init configuration for the control plane node).
- A node pool release (providing the corresponding image and configuration for worker nodes).
To create a release set, the following commands are used:
$ nvkectl create machineimage -f machineimage.yaml
$ nvkectl create clusterrelease -f clusterrelease.yaml
$ nvkectl create nodepoolrelease -f nodepoolrelease.yaml
To provision a customer cluster, a request YAML file (e.g., `customer-a.yaml`) is created, specifying the desired Kubernetes version and components. For example, the YAML specifies that the control plane and the GPU node pool both reference the release `k8s-1.36.3-amd64`.
name: customer-a
controlPlaneKubernetesVersion: 1.36.3
etcdEncrypted: true
controlPlaneVIP: 10.0.20.10
nico: {orgID: , siteID: , vpcID: }
controlPlaneConfig:
desiredCount: 3
nico: {instanceTypePreference: [], vpcPrefixIDs: [], release: k8s-1.36.3-amd64}
nodePools:
– name: gpu
nodeNamePrefix: gpu
desiredNodeCount: 4
nico: {instanceTypeID: , vpcPrefixIDs: [], release: k8s-1.36.3-amd64}
The cluster is submitted to the NVKE REST API via the following command:
$ nvkectl create cluster -f customer-a.yaml
The cluster status will change from `Provisioning` to `Provisioned` once the initial control-plane node has executed `kubeadm init` and NVKE has successfully installed OVN-Kubernetes and NodeLocal DNSCache.
Providing Customer Access
While the AI factory retains continuous management capability through the NVKE API, the customer receives access via a kubeconfig file. The team retrieves this file using the following command:
$ nvkectl get kubeconfig customer-a –output-file customer-a.kubeconfig
kubeconfig written to customer-a.kubeconfig
Adoption and Availability
Industry partners are integrating these technologies into their managed cloud offerings. NVIDIA Cloud Partners Firmus and SK Telecom are integrating NVKE and NVKR into their AI Factories. Additionally, NVIDIA Partners including Mirantis, Rafay, Spectro Cloud, OpenNebula Systems, and vCluster are incorporating these components into their managed Kubernetes services, while Netris is enabling NVKE for its network automation solution.
As of the announcement date of November 10, 2026, both NVKE and NVKR are in public preview and are not yet recommended for production use. Due to their rapid development pace, the NVKE API is subject to change between releases.