Nomad 对比 Kubernetes:当你其实不需要那个集群
来源:dev.to — 2026-09-03
📋 概述
「我们需要跑些容器」不知何时悄悄变成了「所以我们需要 Kubernetes」,而后半句不再被质疑。作者提醒:单二进制、内置 Raft、无需 etcd 的 HashiCorp Nomad 已在 Cloudflare、Roblox、Trivago、CircleCI 生产多年,且 C2M 基准里 22 分钟在 10 个 AWS 区域 6000 台主机上调度了两百万容器。他主张诚实的问题不是「Nomad 还是 Kubernetes」,而是「你真的需要集群,还是反射性地伸手去够它」。Nomad 是工作负载编排器而非容器编排器——通过可插拔 task driver 同时调度容器、裸 Linux 二进制、JAR 甚至完整 VM。但 2026 年真正的分野落在治理上:Kubernetes 是中立的 CNCF 项目,而 Nomad 已从 MPL 改为 BSL 1.1 并随 IBM 收购 HashiCorp(2025 年 2 月以 64 亿美元成交)归 IBM 掌舵。
🔑 核心要点
- Kubernetes 是一整套分布式系统而非可安装的单个东西:etcd、apiserver、scheduler、controller-manager,每节点还有 kubelet 与 kube-proxy,其上几乎总要再加 CNI、ingress、cert-manager、metrics 与一堆 operator
- 若你说不出工作负载需要这台机器提供的一个具体能力,你就是在为一个更小的工具也能排好的负载付一个分布式控制平面的钱——Kubernetes engineer 是一个完整职位头衔
- Nomad 是工作负载编排器而非容器编排器:docker 只是可插拔 task driver 之一,还有 exec(裸二进制)、java(JAR)、qemu(完整 VM)——同一套调度器并排跑新 Go 服务与没人愿意容器化的遗留 Java
- 跑三个 web 服务副本,Nomad 是几十行 HCL 单任务组;Kubernetes 要 Deployment 加 Service——每服务每环境每工程师都要在脑中多扛的那点机器,会复利成小得多的平台
- Nomad 小是因为只做一件事——调度与资源管理,不含服务发现/密钥/网格,靠 Consul 与 Vault 补齐;组件可分可拆,但「平台」变成由你亲手组装的几个 HashiCorp 工具
- Nomad 的真实成本不是技术而是战略:2023 年 8 月从 MPL 改授 BSL 1.1(源码可得而非 OSI 开源),2025 年 2 月随 IBM 以 64 亿美元收购 HashiCorp 归 IBM——赌 Nomad 是在赌源码可得许可与 IBM 的路线图
- 两种方向的错误相同:为了与工作负载无关的理由选编排器——因为默认而选 K8s、或为标新立异而选 Nomad,后者在你真依赖半个 CNCF 生态时是用繁荣生态换你不需要的简洁外加一桩许可问题
💡 金句
「你不需要集群」这句话,比行业愿意承认的还要正确得多。
👍 0
👎 0
← 返回 dev.to 首页