NVKE:在自有 NVIDIA GPU 裸机上托管多套 Kubernetes 集群
给平台团队在 NVIDIA GPU 裸机上管理客户 Kubernetes 集群的控制平面工厂,每个工作集群独立运行。
GitHub dsx-ai-factory/nvke 更新 2026-11-08 分支 main 星标 560 分叉 89
Go Kubernetes 集群管理 NVIDIA GPU SPIFFE/SPIRE 裸机基础设施

🧭 决策指南

适合,如果你

  • 你要在自有 NVIDIA GPU 基础设施上,为客户创建多个带独立 control plane、etcd 和 node pools 的 Kubernetes 集群。
    README 的开头说明 NVKE 供平台团队安装管理平面;每个 workload cluster 拥有自己的 Kubernetes control plane、etcd 和 node pools。
  • 你希望先不准备 GPU,用 Linux amd64 或 arm64 主机、Docker 和模拟机器运行 Local quickstart。
    Getting started 说明 Local quickstart 支持无 GPU评估,要求 Linux host or VM、amd64 或 arm64、至少 6 CPUs、12 GiB memory 和 100 GiB disk。
  • 你需要 SPIFFE/SPIRE 与 TPM 节点证明,并希望用 NVKR 管理节点镜像和 NVKE 组件的构建输入。
    What NVKE does 章节说明节点通过 SPIFFE/SPIRE 使用 TPM 进行证明;NVKR 负责构建节点镜像和组件。

不适合,如果你

  • 你要把 NVKE 直接用于 production workloads。
    README 的 Preview 提示明确写着不推荐 NVKE 用于 production workloads。
  • 你的基础设施提供商不是 NVIDIA Infra Controller NICo。
    Getting started 说明 NICo 是 Preview 阶段 sole compatible infrastructure provider。
  • 你要求管理集群具备升级、扩缩、替换或 backup/restore 流程。
    README 明确说明管理集群不执行这些自运维操作,也没有 management-plane upgrade 或 backup/restore procedure。
  • 你需要默认开启认证或安装后直接使用 HTTPS API。
    README 说明 API authentication is off,安装后 API 使用 plain HTTP,并要求配置 protected access。

前置条件

  • 本地评估:Linux host 或 VM,amd64 或 arm64,至少 6 CPUs、12 GiB free memory、100 GiB free disk、Docker 和 virtual TPM support。
  • macOS 评估使用 Colima virtual machine;真实安装还需机器、网络、node images、registries 以及 NVIDIA Infra Controller NICo 访问。
  • 源码构建使用 Go 1.27.3 和 GNU Make 4 or later;首次构建必须能访问 public Go modules。
  • 真实安装前需查看 platform and version reference,因为 README 提供的是 validated combinations 和 pinned dependencies。
  • README 的 Preview 说明 API、配置和行为可能在版本间变化。

第一步命令(README 原文)

make build

要注意

  • make build 只生成 bin/ 下的九个二进制,不会启动 management plane 或创建 cluster。
    Build from source 章节明确说明构建不会启动 management plane 或创建 cluster。
  • FDE node images 仅供评估,不提供 data-at-rest confidentiality。
    README 的 Preview 限制说明直接指出 FDE node images are for evaluation。
  • 节点 agent 运行在 Linux;macOS 的 Local quickstart 要放进 Colima virtual machine。
    Getting started 和 Build from source 章节分别说明 macOS 使用 Colima,node agent runs on Linux。
  • 真实安装需先配置 API authentication and protected access,不能沿用默认 plain HTTP。
    What NVKE does 章节要求在允许调用方访问前配置 API authentication and protected access。

替代方案

  • Cluster API:当你明确需要 Cluster API flavour,而不是 NVKE README 所说的 self-hosting factory 时更合适。
    Overview

材料未说明

  • README 未给出各 validated platform combinations 的具体平台、版本和依赖清单。
  • README 未说明 NICo 的部署步骤、版本要求或可管理的具体 GPU 机器规模。
  • README 未提供 workload cluster 的性能、并发数量或扩缩容耗时数据。
  • README 未说明 API authentication 支持的认证协议、身份源和 HTTPS 配置细节。
  • README 未提供 management cluster 的备份替代方案、恢复目标或灾难恢复步骤。
  • README 未给出五个已发布版本之间的 API 兼容性和升级迁移规则。
  • README 未说明 SPIFFE/SPIRE、TPM 证明失败时的诊断路径和轮换策略。

💡 深度解析

6
不适合 我们准备把 NVKE Preview 直接用于生产客户工作负载,要求 API 默认启用认证、使用受保护访问,并且管理集群能自动升级、扩缩容、替换自身,还要有管理平面备份恢复流程;这种约束下是否适合?
适合读者: 准备把 Preview 版平台直接用于生产客户工作负载、要求 API 默认安全并具备管理平面升级和备份恢复能力的云平台负责人

不适合:README 明确不推荐 Preview 用于生产,而且你要求的多项管理面能力当前不存在或未默认启用。

  • 项目状态是 Preview,API、配置和行为可能在版本间变化,README 明确写着“不推荐 NVKE 用于生产 workloads”。
  • 安装后 API authentication 默认关闭,API 使用 plain HTTP;必须额外配置 API authentication and protected access,才能面向调用方开放。
  • 管理集群不会自动 upgrade、scale 或 replace itself,项目也没有 management-plane upgrade 或 backup/restore procedure。
  • 即使 workload cluster 支持 Kubernetes upgrade、节点池操作和节点替换,README 仍提示这些操作存在 preview limits,不能替代成熟托管服务的控制面保障。

因此,在“生产即用、默认安全、管理面自愈和可恢复”都是硬约束时,NVKE 与要求直接冲突;除非项目后续版本补齐这些能力并重新验证。

  • 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
材料未说明:README 未说明何时会退出 Preview,也未承诺认证、升级和备份恢复能力的交付版本;README 未定义管理平面故障时的恢复目标、数据丢失目标或官方支持边界
不适合 我们在 NVIDIA GPU 裸金属上交付 workload cluster,要求节点磁盘具备数据静态保密,看到 NVKE 提供 FDE node images 后,能否把它当作生产数据静态加密方案?
适合读者: 为 NVIDIA GPU 裸金属平台制作节点镜像、要求静态数据保密并计划使用 FDE 镜像的安全与基础设施工程师

不适合:README 明确说明评估用 FDE node images 不提供 data-at-rest confidentiality,不能满足你的硬性安全约束。

  • NVKE 的节点身份链路使用 TPM 和 SPIFFE/SPIRE,在节点拿到 join credentials 前进行 attestation;这是节点可信接入能力,不等于磁盘数据静态加密。
  • README 直接写明“FDE node images are for evaluation and provide no data-at-rest confidentiality”,因此不能据此证明 workload cluster 节点磁盘受到保护。
  • etcd encryption 可以按集群启用,但它保护的是 etcd 数据,不代表节点本地磁盘、容器层或其他持久化数据都完成静态加密。
  • 节点镜像由 NVKR 构建,NVKE 部署这些 artifacts;然而 README 没有给出生产级 FDE 密钥管理、解锁、轮换或恢复流程。

因此,若静态保密是上线前提,不能只依赖 NVKE 的 FDE 评估镜像;当前 README 不足以支持这一安全决策。

  • 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
材料未说明:README 未说明生产环境支持哪些磁盘加密方案、密钥管理系统或硬件安全模块;README 未说明 etcd encryption 的密钥来源、轮换和灾难恢复方式
适合 我只有一台 Linux amd64 或 arm64 主机,没有 NVIDIA GPU,能提供至少 6 个 CPU、12 GiB 空闲内存和 100 GiB 磁盘,并希望先验证 workload cluster 节点是否达到 Ready,NVKE 适合我吗?
适合读者: 维护 Linux amd64 或 arm64 评估主机、没有 NVIDIA GPU 硬件、想先验证管理平面和 workload cluster 流程的 Kubernetes 工程师

适合:README 提供了不需要 GPU 硬件的本地 quickstart,可在模拟机器上验证管理平面和 workload cluster 创建流程。

  • Local quickstart 支持 Linux host 或 VM,架构为 amd64 或 arm64,最低要求 6 CPUs、12 GiB free memory 和 100 GiB free disk。
  • 还需要 Docker、virtual TPM support 以及指南列出的工具;流程应执行到 workload-cluster creation,并确认节点报告 Ready。
  • 这条路径不需要 NVIDIA account,得到的是 development management plane 和运行在 simulated machines 上的 workload cluster。
  • macOS 也有路径,但 README 说明要在 Colima virtual machine 中评估;本题的 Linux 主机无需这层转换。

它适合验证组件连接、创建流程和基本节点状态,不等价于真实 NVIDIA GPU 裸金属验证;README 明确把真实安装的机器、网络、节点镜像、registry 和 NICo 配置留给操作者。

  • 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, virtual TPM support
  • README「Getting started」:confirm the cluster's nodes report Ready
材料未说明:README 未提供 local quickstart 的完整命令序列及模拟机器的性能边界;README 未说明 quickstart 是否覆盖真实 GPU 驱动、NICo 供应故障和裸金属网络故障
视情况 我想修改 NVKE 的 controller、agent 或 nvkectl,开发机能安装 Go 1.27.3 和 GNU Make 4+,首次构建时可以访问公共 Go modules;源码构建能否直接启动管理平面并创建 workload cluster?
适合读者: 负责 Go 1.27.3、GNU Make 4+ 构建环境的 NVKE 贡献者,想在源码层修改 controller、agent 或 nvkectl

视情况:源码构建适合获得九个 NVKE 二进制并进入贡献流程,但不能把 make build 当作启动管理平面或创建集群的命令。

  • README 将 Go 版本固定为 1.27.3,要求 GNU Make 4 或更高版本;首次构建必须能访问公共 Go modules,Flox 是可选工具链。
  • 执行构建后会在 bin/ 写入 agent、updater、controller、nvkectl、management-engine、tenant-api、operator-api 等九个二进制。
  • README 明确写着“Building does not start a management plane or create a cluster”,因此构建成功只证明 workspace 和二进制产出正常。
  • 提交改动前应按 CONTRIBUTING.md 操作并运行 make preflight;源码构建也不自动提供节点镜像和发布制品,这部分由 NVKR 负责。

所以它适合代码开发和单元/模块检查;若目标是端到端集群验证,还必须继续执行文档中的本地服务或部署流程。

  • 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
材料未说明:README 未说明修改单个组件后最小端到端测试环境及其资源要求;README 未说明 NVKR 生成节点镜像与当前源码分支之间的兼容矩阵
视情况 我们运营自有 NVIDIA GPU 裸金属,想为多个客户分别交付拥有独立控制平面、etcd 和节点池的 Kubernetes 集群,同时由平台团队统一做创建、扩缩容、升级和删除,NVKE 是否适合?
适合读者: 运营自有 NVIDIA GPU 裸金属、需要为多个客户交付独立 Kubernetes 集群的平台工程团队

视情况:架构上非常匹配多客户 GPU 集群交付,但 Preview 状态和管理平面运维缺口使其不适合直接承载生产客户。

  • 每个 workload cluster 都有自己的 Kubernetes control plane、etcd 和 node pools,客户仍通过 Kubernetes API 与 kubectl 使用集群。
  • NVKE 可通过 API 或 nvkectl 创建集群、管理节点池、升级 Kubernetes、替换节点和删除集群;NICo 负责裸金属机器供应。
  • 当前 Preview 版本仅兼容 NVIDIA Infra Controller(NICo),真实安装还要由团队提供机器、网络、节点镜像、镜像仓库并配置 NICo。
  • 管理集群不会自动升级、扩缩容或替换自身,也没有 management-plane upgrade 或 backup/restore 流程;API 默认关闭认证并使用明文 HTTP。

因此,它适合做受控评估或内部平台原型,是否进入客户生产环境取决于团队能否补齐这些管理面和安全能力。

  • 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
材料未说明:README 未说明管理平面对多租户配额、计费、网络策略和客户间 API 权限隔离的完整实现范围;README 未说明管理集群的高可用拓扑、监控目标和故障恢复时间
适合 我们已经使用 NVIDIA Infra Controller(NICo)和 Cluster API 管理 NVIDIA GPU 裸金属,希望把节点供应、节点身份、节点池扩缩容和 Kubernetes 集群生命周期统一到一个管理平面,NVKE 是否值得采用?
适合读者: 管理 NVIDIA GPU 裸金属、已采用 Cluster API 和 NICo、希望把节点供应与集群生命周期声明式化的基础设施运营团队

适合:你们已有 NICo 和 Cluster API,正好覆盖 NVKE 的主要依赖,不过仍需接受 Preview 阶段的操作限制。

  • NVKE 通过 NICo 供应机器,并结合 Cluster API、节点代理和独立控制平面完成 workload cluster 生命周期管理。
  • 节点在获得加入凭据前,会通过 TPM 和 SPIFFE/SPIRE 进行身份认证;etcd 数据还可以按集群启用加密。
  • API 或 nvkectl 支持创建集群、节点池扩缩容、Kubernetes 升级、节点替换和集群删除,适合把人工流程转为声明式控制器流程。
  • 节点镜像和组件由配套项目 NVKR 基于 pinned inputs 构建,NVKE 负责部署这些制品;但 README 明确说明真实安装仍需自行准备机器、网络、镜像和 registry。

如果团队能维护 NICo、TPM、SPIFFE/SPIRE、镜像和版本依赖,NVKE 的技术路径与现有栈高度衔接;若只想获得简单的单集群安装器,则不值得引入。

  • 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
材料未说明:README 未列出当前 NICo、Cluster API、Kubernetes 与节点镜像之间所有已验证版本组合的具体值;README 未说明 SPIFFE/SPIRE 证书轮换、TPM 失效和节点身份撤销的运维流程

✨ 核心亮点

  • 每个 workload cluster 独立拥有 control plane、etcd 和 node pools
  • SPIFFE/SPIRE 结合 TPM 建立节点身份后再发放加入凭据
  • Local quickstart 可在无 GPU 环境用模拟机器评估 NVKE
  • Preview 阶段明确不推荐用于 production workloads

🔧 工程化

  • 通过 NVKE API 或 nvkectl 创建、扩缩和删除 workload clusters
  • 依赖 NICo、Cluster API 和 node agent 管理节点与集群生命周期
  • NVKR 构建节点镜像与组件,NVKE 部署这些固定输入产物

⚠️ 风险

  • Preview API、配置和行为可能跨版本变化,README 不推荐生产使用
  • API authentication 默认关闭,安装后 API 使用 plain HTTP
  • 管理集群不能自升级、扩缩或替换,且没有 backup/restore 流程
  • Preview 阶段唯一兼容基础设施提供商是 NVIDIA Infra Controller NICo

👥 适合谁?

  • 需要在自有 NVIDIA GPU 基础设施上服务客户集群的平台团队
  • 想在 Linux amd64 或 arm64 主机无 GPU 评估 NVKE 的开发者
  • 需要 Go 1.27.3、GNU Make 4+ 构建九个 NVKE 二进制的贡献者