上下文
最近公司需要调研类似 EMCHub 这样支持算力共享的服务。第一直觉是使用 K8S 或 K3S,作为 CNCF 孵化的顶级项目,同时也是当前云原生生态使用最广的编排系统。但是在学习 EMC Hub 源码过程中,偶然发现它是基于 Nomad 做的集群管理。
相比之下,Nomad 更加轻量级,支持的编排能力也更全面。最优秀的是,体积只有 40 多兆,能很方便的集成到各种业务环境中。
Nomad 简介
Nomad 是一款基于开源,功能强大的调度程序和集群编排引擎。可以轻松管理从单机到大规模集群的各种容器和非容器化应用程序,实现快速部署和跨平台运行。
Nomad 主要特点
- 作为单个二进制文件运行,资源占用少,
- 支持将资源管理和调度集成到一个单独的系统中,
- 支持多种驱动程序运行 job,包括 Windows、Java、VM、Docker 等,
- 支持分布式和高可用,
- 支持多数据中心,可以跨数据中心调度,
- 强大的可伸缩性,可在现实生产环境中扩展到10K+节点的集群(K8S v1.29 是 5k+ ),
- 支持插件功能,可与 Terraform、Consul、Vault 无缝集成,用于提供资源调配、服务发现和秘密管理。
Nomad 部署
我们还是以 Docker 环境进行介绍