NVKE: Managed Kubernetes clusters on your own NVIDIA GPU infrastructure
A control-plane factory for platform teams running customer Kubernetes clusters on NVIDIA GPU bare metal, with isolated workload clusters.
GitHub dsx-ai-factory/nvke Updated 2026-11-08 Branch main Stars 560 Forks 89
Go Kubernetes cluster management NVIDIA GPU SPIFFE/SPIRE Bare-metal infrastructure

🧭 Decision Guide

Try it if you

  • You need to create multiple customer Kubernetes clusters on your NVIDIA GPU infrastructure, each with its own control plane, etcd, and node pools.
    The README introduction says platform teams install the management plane; each workload cluster has its own Kubernetes control plane, etcd, and node pools.
  • You want to evaluate without GPUs using the Local quickstart on a Linux amd64 or arm64 host with Docker and simulated machines.
    Getting started says the Local quickstart supports evaluation without GPU hardware and requires a Linux host or VM, amd64 or arm64, at least 6 CPUs, 12 GiB memory, and 100 GiB disk.
  • You need SPIFFE/SPIRE and TPM-based node attestation, and want NVKR to manage build inputs for node images and NVKE components.
    The What NVKE does section says nodes attest through SPIFFE/SPIRE using their TPM; NVKR owns builds of node images and NVKE components.

Skip it if you

  • You need to use NVKE directly for production workloads.
    The README Preview notice explicitly says NVKE is not recommended for production workloads.
  • Your infrastructure provider is not NVIDIA Infra Controller NICo.
    Getting started says NICo is the sole compatible infrastructure provider at Preview.
  • You require the management cluster to have upgrade, scaling, replacement, or backup/restore procedures.
    The README states that the management cluster does not perform these self-management operations and has no management-plane upgrade or backup/restore procedure.
  • You require authentication to be enabled by default or an HTTPS API immediately after installation.
    The README says API authentication is off and the API uses plain HTTP after installation, requiring protected access configuration.

Requirements

  • Local evaluation: a Linux host or VM, amd64 or arm64, at least 6 CPUs, 12 GiB of free memory, 100 GiB of free disk, Docker, and virtual TPM support.
  • macOS evaluation uses a Colima virtual machine; a real installation also needs machines, networking, node images, registries, and access to NVIDIA Infra Controller NICo.
  • Source builds require Go 1.27.3 and GNU Make 4 or later; public Go modules must be reachable on the first build.
  • Before a real installation, consult the platform and version reference because the README provides validated combinations and pinned dependencies.
  • The Preview notice says APIs, configuration, and behavior may change between releases.

First step (verbatim from README)

make build

Watch out

  • make build only produces nine binaries under bin/; it does not start the management plane or create a cluster.
    The Build from source section explicitly says the build does not start a management plane or create a cluster.
  • FDE node images are for evaluation only and do not provide data-at-rest confidentiality.
    The README Preview limitations state directly that FDE node images are for evaluation.
  • The node agent runs on Linux; the macOS Local quickstart runs inside a Colima virtual machine.
    Getting started and Build from source state respectively that macOS uses Colima and the node agent runs on Linux.
  • A real installation must configure API authentication and protected access rather than relying on default plain HTTP.
    The What NVKE does section requires API authentication and protected access before admitting callers.

Alternatives

  • Cluster API:A better fit when you explicitly need a Cluster API flavour rather than the self-hosting factory described by the NVKE README.
    Overview

Not stated in the README

  • The README does not list the specific platforms, versions, and dependencies covered by the validated platform combinations.
  • The README does not describe NICo deployment steps, version requirements, or the concrete GPU-machine scale it can manage.
  • The README provides no performance, concurrency, or scaling-duration data for workload clusters.
  • The README does not specify the authentication protocols, identity sources, or HTTPS configuration details supported by API authentication.
  • The README provides no backup alternative, recovery objective, or disaster-recovery procedure for the management cluster.
  • The README does not state API compatibility or upgrade-migration rules across the five released versions.
  • The README does not explain the diagnostic path or rotation policy when SPIFFE/SPIRE or TPM attestation fails.

💡 Deep Analysis

6
No We plan to use NVKE Preview directly for production customer workloads. We require authentication to be enabled by default, protected access, automatic management-cluster upgrades, scaling and replacement, plus management-plane backup and recovery. Is it suitable under these constraints?
For: A cloud platform owner planning to run the Preview platform directly for production customer workloads and requiring secure-by-default APIs plus management-plane upgrade and backup/recovery capabilities

No: the README explicitly advises against production use of the Preview, and several of your required management-plane capabilities are absent or not enabled by default.

  • The project is in Preview; APIs, configuration, and behavior may change between releases, and the README explicitly says it does not recommend NVKE for production workloads.
  • API authentication is off after installation and the API uses plain HTTP; API authentication and protected access must be configured separately before admitting callers.
  • The management cluster does not automatically upgrade, scale, or replace itself, and there is no management-plane upgrade or backup/restore procedure.
  • Even though workload clusters support Kubernetes upgrades, node-pool operations, and node replacement, the README notes preview limits on these operations; they do not provide the guarantees of a mature managed service.

Therefore, when production readiness, secure-by-default access, management-plane self-healing, and recoverability are hard constraints, NVKE directly conflicts with the requirements unless later releases add and validate these capabilities.

  • README, “Preview”: we do not recommend NVKE for production workloads
  • README, “What NVKE does”: API authentication is off and the API uses plain HTTP after installation
  • README, “What NVKE does”: The management cluster does not upgrade, scale, or replace itself
  • README, “What NVKE does”: there is no management-plane upgrade or backup/restore procedure
Not stated in the README:The README does not state when the project will leave Preview or promise a release for authentication, upgrades, or backup and recovery;The README does not define recovery objectives, data-loss objectives, or official support boundaries for management-plane failures
No We deliver workload clusters on NVIDIA GPU bare metal and require data-at-rest confidentiality. Since NVKE provides FDE node images, can we treat them as a production data-at-rest encryption solution?
For: A security and infrastructure engineer building node images for an NVIDIA GPU bare-metal platform who requires data-at-rest confidentiality and plans to use an FDE image

No: the README explicitly says that the evaluation FDE node images do not provide data-at-rest confidentiality, so they cannot satisfy your hard security requirement.

  • NVKE uses TPM and SPIFFE/SPIRE for node attestation before issuing join credentials. That establishes trusted node admission; it is not equivalent to encrypting data at rest on disk.
  • The README states directly, “FDE node images are for evaluation and provide no data-at-rest confidentiality,” so the images do not demonstrate protected workload-cluster node storage.
  • etcd encryption can be enabled per cluster, but that protects etcd data and does not mean local node disks, container layers, or other persistent data are encrypted at rest.
  • NVKR builds node images and NVKE deploys those artifacts, but the README provides no production FDE key-management, unlock, rotation, or recovery procedure.

Therefore, when at-rest confidentiality is a release prerequisite, NVKE’s evaluation FDE image cannot be the sole control; the README does not support that security decision.

  • README, “What NVKE does”: Nodes attest through SPIFFE/SPIRE using their TPM before receiving join credentials
  • README, “What NVKE does”: Encryption of etcd data is available per cluster
  • README, “What NVKE does”: FDE node images are for evaluation and provide no data-at-rest confidentiality
  • README, “What NVKE does”: NVKR builds node images and NVKE deploys those artifacts
Not stated in the README:The README does not specify which disk-encryption methods, key-management systems, or hardware security modules are supported in production;The README does not specify the key source, rotation, or disaster-recovery method for etcd encryption
Yes I only have a Linux amd64 or arm64 host without NVIDIA GPU hardware, but can provide at least 6 CPUs, 12 GiB of free memory, and 100 GiB of disk. I want to verify that workload-cluster nodes reach Ready. Is NVKE suitable for me?
For: A Kubernetes engineer maintaining a Linux amd64 or arm64 evaluation host without NVIDIA GPU hardware who wants to validate the management-plane and workload-cluster flow first

Yes: the README provides a local quickstart that requires no GPU hardware and can validate the management-plane and workload-cluster creation flow on simulated machines.

  • The local quickstart supports a Linux host or VM on amd64 or arm64, with at least 6 CPUs, 12 GiB of free memory, and 100 GiB of free disk.
  • It also requires Docker, virtual TPM support, and the tools listed in the guide; the flow should continue through workload-cluster creation until the nodes report Ready.
  • No NVIDIA account is required, and the result is a development management plane plus a workload cluster running on simulated machines.
  • macOS has a separate path through a Colima virtual machine, but that extra layer is not needed for the Linux host described here.

This is suitable for validating component wiring, creation flow, and basic node state, but it is not validation of real NVIDIA GPU bare metal. The README leaves machines, networking, node images, registries, and NICo configuration to the operator for real installation.

  • README, “Getting started”: Evaluate without GPU hardware; a development management plane and a workload cluster on simulated machines
  • README, “Getting started”: Linux host or VM, amd64 or arm64; 6 CPUs, 12 GiB of free memory, and 100 GiB of free disk
  • README, “Getting started”: It requires Docker and virtual TPM support
  • README, “Getting started”: confirm the cluster's nodes report Ready
Not stated in the README:The README does not provide the complete command sequence for the local quickstart or the performance limits of simulated machines;The README does not state whether the quickstart covers real GPU drivers, NICo provisioning failures, or bare-metal networking failures
It depends I want to modify NVKE’s controller, agent, or nvkectl. My development machine can install Go 1.27.3 and GNU Make 4+, and public Go modules are reachable on the first build. Will building from source directly start the management plane and create a workload cluster?
For: An NVKE contributor responsible for a Go 1.27.3 and GNU Make 4+ build environment who wants to modify the controller, agent, or nvkectl

It depends: source builds are suitable for producing the nine NVKE binaries and entering the contribution workflow, but make build is not a command that starts the management plane or creates a cluster.

  • The README pins Go to 1.27.3 and requires GNU Make 4 or later; public Go modules must be reachable on the first build, while Flox is optional.
  • The build writes nine binaries to bin/, including agent, updater, controller, nvkectl, management-engine, tenant-api, and operator-api.
  • The README explicitly says, “Building does not start a management plane or create a cluster,” so a successful build only confirms workspace compilation and binary output.
  • Before submitting changes, contributors should follow CONTRIBUTING.md and run make preflight; source builds also do not automatically provide node images or release artifacts, which are owned by NVKR.

It is therefore suitable for code development and module checks. End-to-end cluster validation requires the additional local-service or deployment procedures in the documentation.

  • README, “Build from source”: Use Go 1.27.3; GNU Make 4 or later
  • README, “Build from source”: make build
  • README, “Build from source”: This builds the workspace and writes nine binaries to bin/
  • README, “Build from source”: Building does not start a management plane or create a cluster
make build
Not stated in the README:The README does not specify the minimum end-to-end test environment after changing an individual component;The README does not specify the compatibility matrix between NVKR-generated node images and the current source branch
It depends We operate our own NVIDIA GPU bare metal and want to deliver separate Kubernetes clusters with independent control planes, etcd, and node pools to multiple customers, while our platform team handles creation, scaling, upgrades, and deletion. Is NVKE suitable?
For: A platform engineering team operating its own NVIDIA GPU bare metal and delivering independent Kubernetes clusters to multiple customers

It depends: the architecture fits multi-customer GPU cluster delivery, but the Preview status and management-plane gaps make it unsuitable for direct production customer workloads.

  • Each workload cluster has its own Kubernetes control plane, etcd, and node pools; customers still use the cluster through the Kubernetes API and kubectl.
  • NVKE supports cluster creation, node-pool operations, Kubernetes upgrades, node replacement, and deletion through its API or nvkectl; NICo provisions the bare-metal machines.
  • The Preview version is compatible only with NVIDIA Infra Controller (NICo), and the operator must supply machines, networking, node images, registries, and NICo access.
  • The management cluster does not upgrade, scale, or replace itself, and there is no management-plane upgrade or backup/restore procedure. API authentication is off by default and installation uses plain HTTP.

It is therefore suitable for a controlled evaluation or internal platform prototype; production customer use depends on whether the team can cover these management-plane and security gaps.

  • README, “What NVKE does”: Each workload cluster has its own Kubernetes control plane, etcd and node pools
  • README, “What NVKE does”: Request clusters through the NVKE API or nvkectl; create, scale and delete node pools, upgrade Kubernetes, and replace nodes
  • README, “Getting started”: NICo is the sole compatible infrastructure provider at preview
  • README, “What NVKE does”: The management cluster does not upgrade, scale or replace itself; API authentication is off
Not stated in the README:The README does not specify the full implementation scope for multi-tenant quotas, billing, network policy, or customer API authorization isolation;The README does not specify management-cluster HA topology, monitoring objectives, or recovery time
Yes We already use NVIDIA Infra Controller (NICo) and Cluster API for NVIDIA GPU bare metal, and want one management plane for machine provisioning, node identity, node-pool scaling, and Kubernetes lifecycle operations. Is NVKE worth adopting?
For: An infrastructure operations team managing NVIDIA GPU bare metal, already using Cluster API and NICo, and seeking declarative node provisioning and cluster lifecycle management

Yes: your existing NICo and Cluster API usage matches NVKE’s main dependencies, although you must accept Preview-stage operational limitations.

  • NVKE provisions machines through NICo and combines Cluster API, a node agent, and independent control planes to manage workload-cluster lifecycles.
  • Before receiving join credentials, nodes attest through TPM and SPIFFE/SPIRE; etcd data encryption can also be enabled per cluster.
  • The API or nvkectl supports cluster creation, node-pool scaling, Kubernetes upgrades, node replacement, and deletion, making it suitable for turning manual procedures into declarative controller workflows.
  • The companion NVKR project builds node images and components from pinned inputs, while NVKE deploys those artifacts; however, the README says operators still provide machines, networking, images, and registries.

If the team can operate the NICo, TPM, SPIFFE/SPIRE, image, and version dependencies, NVKE aligns well with the existing stack. It is not worthwhile if the goal is merely a simple single-cluster installer.

  • README, “Overview”: NVKE provisions and lifecycle-manages clusters through NICo, Cluster API, and the node agent
  • README, “What NVKE does”: Nodes attest through SPIFFE/SPIRE using their TPM before receiving join credentials
  • README, “What NVKE does”: Encryption of etcd data is available per cluster
  • README, “What NVKE does”: NVKR builds node images and NVKE deploys those artifacts
Not stated in the README:The README does not list the exact values for all validated NICo, Cluster API, Kubernetes, and node-image version combinations;The README does not describe operational procedures for SPIFFE/SPIRE certificate rotation, TPM failure, or node identity revocation

✨ Highlights

  • Each workload cluster has its own control plane, etcd, and node pools
  • SPIFFE/SPIRE uses TPM attestation before issuing node join credentials
  • The Local quickstart evaluates NVKE without GPU hardware using simulated machines
  • The Preview status explicitly says NVKE is not recommended for production workloads

🔧 Engineering

  • Create, scale, and delete workload clusters through the NVKE API or nvkectl
  • NICo, Cluster API, and the node agent manage nodes and cluster lifecycles
  • NVKR builds node images and components, while NVKE deploys those pinned-input artifacts

⚠️ Risks

  • Preview APIs, configuration, and behavior may change between releases; the README discourages production use
  • API authentication is off by default and the installed API uses plain HTTP
  • The management cluster cannot self-upgrade, scale, or replace itself, and has no backup/restore procedure
  • NICo is the sole compatible infrastructure provider during the Preview

👥 For who?

  • Platform teams that serve customer clusters on their own NVIDIA GPU infrastructure
  • Developers evaluating NVKE without GPUs on Linux amd64 or arm64 hosts
  • Contributors building nine NVKE binaries with Go 1.27.3 and GNU Make 4+