应用编排Nomad与Kubernetes对比

举报
kaliarch 发表于 2022/06/11 12:30:51 2022/06/11
【摘要】 一 对比Kubernetes是一个容器编排系统,最初由Google设计,现在由Cloud Native Computing Foundation(CNCF)管理,由Google、Red Hat和许多其他公司开发。Kubernetes和Nomad支持类似的应用程序部署和管理核心用例,但它们在几个关键方面有所不同。Kubernetes的目标是提供运行基于Linux容器的应用程序所需的所有功能,...

一 对比

Kubernetes是一个容器编排系统,最初由Google设计,现在由Cloud Native Computing Foundation(CNCF)管理,由Google、Red Hat和许多其他公司开发。Kubernetes和Nomad支持类似的应用程序部署和管理核心用例,但它们在几个关键方面有所不同。Kubernetes的目标是提供运行基于Linux容器的应用程序所需的所有功能,包括集群管理、调度、服务发现、监视、机密管理等。Nomad只专注于集群管理和调度,其设计遵循Unix的理念,即具有较小的范围,同时使用诸如服务发现的Consult/service mesh和秘密管理的Vault等工具。
Nomad与Kubernetes的区别主要有以下几个特点:

二 简单

Kubernetes被设计为一个由六个以上互操作服务组成的集合,这些服务共同提供了完整的功能。协调和存储由etcd在核心提供。状态由API控制器包装,这些控制器由其他服务使用,这些服务为调度等功能提供更高级别的API。Kubernetes支持在高度可用的配置中运行,但设置起来操作复杂。
Nomad在架构上要简单得多。Nomad是一个用于客户端和服务器的单一二进制文件,不需要外部服务进行协调或存储。Nomad将轻量级资源管理器和复杂的调度程序组合到一个系统中。默认情况下,Nomad是分布式的、高度可用的,并且操作简单。

三 灵活的工作负载支持

Kubernetes专门关注Linux容器,而Nomad则更通用。Nomad支持虚拟化、容器化和独立的应用程序,包括Docker、Java、Windows上的IIS、Qemu等。Nomad设计了可扩展的驱动程序,支持将扩展到所有常见的驱动程序。

四 一致性部署

在生产环境中进行完整的Kubernetes安装耗时、操作复杂且资源密集。Kubernetes社区创建了越来越多的实现来缓解这些挑战,如minikube、kubeadm、k3s等。Kubernetes的这些修剪版本为开发和测试提供了更容易的采用,但在进入生产时会导致功能、配置和管理方面的不一致。
与Kubernetes的零散发行版不同,Nomad作为一个轻量级二进制文件,可以以一致的方式部署在本地开发、生产、在线、边缘和云中,并在所有环境中提供相同的操作易用性。

五 可扩展性

Kubernetes文档指出,它们支持多达5,000个节点和300,000个容器的集群。随着环境的增长,具有不同约束的互操作组件增加了操作的复杂性。就连谷歌的运营商也透露了大规模管理系统的重大挑战。联邦项目的不成熟和管理集中管理平面的额外开销也使得部署跨多个集群的分布式系统变得困难。
Nomad已经被证明可以在实际生产环境中扩展到超过10,000个节点的集群规模。它可以部署在多个可用性区域、区域和具有单个集群或多个集群的数据中心。Nomad设计用于本地处理多集群部署,而无需在集群上运行集群的开销。这使得跨多个数据中心、区域和云扩展应用程序部署变得更加容易,而且没有额外的复杂性。
Nomad在可伸缩性方面进行了艰苦的基准测试,2016年有100万个容器挑战,2020年有200万个容器挑战。这些测试旨在验证Nomad的架构设计,并确保Nomad在最极端的需求下执行。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。