Hashicopy之nomad应用编排方案01

举报
kaliarch 发表于 2022/06/11 12:31:16 2022/06/11
【摘要】 一 前言Hashicopy发布多款明星产品,例如服务注册发现的consul,用于基础设施编排的Terraform和Packer,在应用编排领域其Nomad也是一款应用编排部署工具。 二 Nomad简介Nomad是一个灵活的调度器和工作负载编排器,它使组织能够使用单一、统一的工作流轻松地部署和管理任何容器化或遗留应用程序。Nomad可以运行各种负载的Docker、非容器化、微服务和批处理应用...

一 前言

Hashicopy发布多款明星产品,例如服务注册发现的consul,用于基础设施编排的Terraform和Packer,在应用编排领域其Nomad也是一款应用编排部署工具。

二 Nomad简介

Nomad是一个灵活的调度器和工作负载编排器,它使组织能够使用单一、统一的工作流轻松地部署和管理任何容器化或遗留应用程序。Nomad可以运行各种负载的Docker、非容器化、微服务和批处理应用程序。
Nomad使开发人员能够使用声明性基础结构作为代码来部署应用程序。Nomad使用垃圾箱包装,有效地安排作业和优化资源利用。macOS、Windows和Linux支持Nomad。
Nomad被PagerDuty、Target、Citadel、Trivago、SAP、Pandora、Roblox、eBay、Deluxe Entertainment等广泛采用并用于生产。如果你还没有,可以考虑阅读一些由Nomad客户提供的客户研究,比如Roblox如何用Nomad为1亿玩家建立一个平台。

三 关键特性

  • 部署容器和传统应用:Nomad作为orchestrator的灵活性使组织能够在相同的基础结构上一起运行容器、遗留和批处理应用程序。Nomad为遗留应用程序带来了核心编排优势,而无需通过可插入的任务驱动程序进行容器化。
  • 简单&可靠:Nomad作为一个二进制文件运行,并且是完全自包含的–将资源管理和调度结合到一个系统中。Nomad不需要任何外部服务进行存储或协调。Nomad自动处理应用程序、节点和驱动程序故障。Nomad是分布式和弹性的,它使用领导者选举和状态复制来在发生故障时提供高可用性。
  • 设备插件和GPU支持:Nomad为GPU工作负载提供内置支持,如机器学习(ML)和人工智能(AI)。Nomad使用设备插件来自动检测和利用来自诸如GPU、FPGAs和TPU等硬件设备的资源。
  • 多地域联邦部署:Nomad在本地支持多地区联合。这种内置功能允许将多个集群链接在一起,从而使开发人员能够将作业部署到任何区域的任何集群。联合还支持跨所有集群自动复制ACL策略、命名空间、资源配额和哨兵策略。
  • 可验证的弹性:Nomad具有乐观的并发性,这增加了吞吐量并减少了工作负载的延迟。Nomad已经被证明可以在实际生产环境中扩展到10K+节点的集群。了解有关最新可伸缩性基准测试-200万容器挑战的更多信息
  • HashiCorp生态:Nomad与Terraform、Consult、Vault无缝集成,用于供应、服务发现和机密管理。

四 与其他工具对比

Nomad与相关工具的区别在于它的简单性、灵活性、可伸缩性和高性能。Nomad与HashiCorp Terraform、Consul和Vault的协同和集成点使其独特地适合于轻松集成到组织现有的工作流中,最大限度地缩短关键计划的上市时间。阅读游牧民族vs Kubernetes了解更多。

五 Nomad使用场景

Nomad支持几个主要的用例,并且潜在用例的全部范围比这里所涵盖的要广泛。

5.1 Docker容器编排

组织越来越倾向于以Docker为中心的应用程序部署和管理工作流。这种转变需要新的工具来自动放置、执行作业更新、为开发人员启用自助服务以及自动处理故障。Nomad支持一流的Docker工作流,并与Consul和Vault无缝集成,以实现完整的解决方案,同时最大限度地提高操作灵活性。Nomad易于使用,可以在单个集群中扩展到数千个节点,并且可以轻松地跨私有数据中心和多个云进行部署。

5.2 传统应用部署

基于虚拟机的应用程序部署策略会导致低硬件利用率和高基础设施成本。虽然基于Docker的部署策略对于一些组织或用例来说可能不切实际,但更大的自动化、更高的弹性和更低的成本的潜力是非常有吸引力的。Nomad本机支持直接运行遗留应用程序、静态二进制文件、Java JAR、QEMU虚拟机和简单的OS命令。工作负载在运行时被本地隔离,并被装箱以最大限度地提高效率和利用率(降低成本)。开发人员和操作员受益于API驱动的自动化和通过自动故障处理增强的应用程序可靠性。

5.3 微服务

微服务和面向服务的体系结构(SOA)是一种设计范例,在这种设计范例中,许多具有狭窄范围、严格状态封装和API驱动通信的服务交互在一起,形成一个更大的解决方案。然而,管理数百或数千个服务而不是几个大型应用程序会带来操作上的挑战。Nomad优雅地与Consul集成,用于自动注册服务和动态呈现配置文件。Nomad和Consul共同为管理微服务提供了理想的解决方案,使采用该范式变得更加容易。

5.4 批量处理工作负载

随着数据科学和分析团队的规模和复杂性的增长,他们越来越多地受益于高性能和可伸缩的工具,这些工具可以以最小的操作开销运行批处理工作负载。Nomad可以本地运行批处理作业和参数化作业。Nomad的体系结构支持简单的可伸缩性和乐观的并发调度策略,每秒可以产生数千个容器部署。替代方案过于复杂,在调度吞吐量、可伸缩性和多云功能方面受到限制。

5.5 多区域和多云联合部署

Nomad设计用于本地处理多数据中心和多区域部署,并且与云无关。这使得Nomad可以在运行裸机、OpenStack或VMware以及AWS、Azure或GCE云部署的私有数据中心中进行调度。这使得增量迁移工作负载和利用云进行突发变得更加容易。

参考链接

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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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