前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >大规模 IoT 边缘容器集群管理的几种架构-2-HashiCorp 解决方案 Nomad

大规模 IoT 边缘容器集群管理的几种架构-2-HashiCorp 解决方案 Nomad

作者头像
东风微鸣
发布2023-09-15 15:14:29
3290
发布2023-09-15 15:14:29
举报
文章被收录于专栏:东风微鸣技术博客

前文回顾

1.大规模 IoT 边缘容器集群管理的几种架构-0-边缘容器及架构简介[1]2.大规模 IoT 边缘容器集群管理的几种架构-1-Rancher+K3s[2]

📚️Reference: IoT 边缘计算系列文章[3]

HashiCorp 解决方案 - Nomad + Docker

Nomad_PrimaryLogo_FullColor

简介

Nomad: 一个简单而灵活的调度器和编排器,可在内部和云端大规模部署和管理容器和非容器化的应用程序

Nomad 使开发者能够使用声明式的基础设施即代码来部署应用程序。Nomad 使用 bin packing 来有效地安排工作并优化资源利用。

Nomad 凭借其简单性、灵活性可扩展性高性能与相关工具区分开来。Nomad 的协同作用和整合点 HashiCorp Terraform、Consul 和 Vault 使其特别适合轻松集成到 组织的现有工作流程,最大限度地减少关键计划的上市时间。

使用 Nomad 来安排更接近用户的边缘工作负载。用 Nomad 的本地服务发现连接边缘服务。无缝地处理不稳定的 Nomad 客户端节点连接。

Nomad UI

参考架构

当采用边缘计算/容器时,会遇到诸如 管理异构设备(不同的处理器、操作系统等), 资源受限的设备,以及间歇性连接。

Nomad 解决了这些挑战,使其成为一个有吸引力的边缘协调者。Nomad 客户端代理是单个二进制文件,占用空间小,资源有限消费,以及在不同类型的设备上运行的能力。另外 Nomad 支持地理位置较远的客户端,这意味着 Nomad 服务器群集不需要在客户端附近运行。

通过 Nomad 1.3,原生服务发现 (native service discovery) 简化了连接 Nomad 任务的过程,在那里你不需要使用单一的服务网格,并且不再需要管理一个单独的 Consul 集群。Nomad 的原生服务发现还消除了在每个边缘设备上安装 Consul 代理的需要。这进一步减少了 Nomad 的资源占用,因此你可以在边缘运行和支持更多的工作负载。此外,断开的客户端分配可以优雅地重新连接,处理边缘设备遇到网络延迟或临时连接损失的情况。

如下图,

1.本地数据中心或云,将托管 Nomad 服务器集群和一个客户端用于统一管理2.边缘端运行 Nomad 客户端。

Nomad 参考架构

方案优点

部署容器和旧版应用程序: Nomad 作为协调程序的灵活性使组织能够在同一基础架构上同时运行容器、旧版和批处理应用程序。Nomad 为旧版应用程序带来了核心编排优势,而无需进行容器化。•简单可靠:Nomad 作为单个二进制文件运行,并且完全独立 - 将资源管理和调度结合到单个系统中。Nomad 不需要任何外部服务进行存储或协调。Nomad 自动处理应用程序、节点和驱动程序故障。Nomad 是分布式和弹性的,使用领导者选举和状态复制在发生故障时提供高可用性。•资源占用少: Nomad 客户端代理是单个二进制文件,占用空间小,资源使用少;Nomad 1.3 以上版本的 native service discovery 还消除了在每个边缘设备上安装 Consul agent 的需要。这进一步减少了 Nomad 的资源占用。•设备插件和 GPU 支持:Nomad 为 GPU 工作负载(如机器学习(ML)和人工智能(AI))提供内置支持。Nomad 使用设备 插件[4] 来自动检测和利用来自硬件设备(如 GPU、FPGA 和 TPU)的资源。插件很丰富,支持:•Docker•Isolated Fork/Exec•Java•Podman•QEMU•Raw Fork/Exec•containerd•Nvidia•USB•...•经过验证的可扩展性:Nomad 乐观地并发,可提高吞吐量并减少工作负载的延迟。Nomad 已被证明可以在实际生产环境中扩展到 10K +节点的集群。•HashiCorp生态系统:Nomad 与 Terraform,Consul,Vault 无缝集成,用于配置,服务发现和机密管理。满足更复杂的边缘容器管理需求。

方案缺点

不兼容 Kubernetes 生态: Nomad 是与 Kubernetes 完全不同的另一套容器编排/调度解决方案,所以不兼容 Kubernetes 生态。需要付出相关的学习成本和额外的人力成本。•管理功能较少: 也是因为 不兼容 Kubernetes 生态,所以完全无法享受 Kubernetes 庞大生态带来的功能红利。管理功能相对较少。如果需要额外的自动化能力,需要集成 Terraform; 需要额外的服务发现能力,需要集成 Consul; 需要额外的机密管理能力,需要集成 Vault.•UI 简单

继续阅读

1.大规模 IoT 边缘容器集群管理的几种架构-3-Portainer[5]2.大规模 IoT 边缘容器集群管理的几种架构-4-Kubeedge[6]3.大规模 IoT 边缘容器集群管理的几种架构-5-总结[7]

参考文档

•Managing Applications at the Edge with HashiCorp Nomad[8]

References

[1] 大规模 IoT 边缘容器集群管理的几种架构-0-边缘容器及架构简介: https://ewhisper.cn/posts/10785/ [2] 大规模 IoT 边缘容器集群管理的几种架构-1-Rancher+K3s: https://ewhisper.cn/posts/32695/ [3] IoT 边缘计算系列文章: https://ewhisper.cn/tags/Edge/ [4] 插件: https://developer.hashicorp.com/nomad/docs/devices [5] 大规模 IoT 边缘容器集群管理的几种架构-3-Portainer: https://ewhisper.cn/posts/3806/ [6] 大规模 IoT 边缘容器集群管理的几种架构-4-Kubeedge: https://ewhisper.cn/posts/2631/ [7] 大规模 IoT 边缘容器集群管理的几种架构-5-总结: https://ewhisper.cn/posts/35653/ [8] Managing Applications at the Edge with HashiCorp Nomad: https://www.hashicorp.com/blog/managing-applications-at-the-edge-with-hashicorp-nomad

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023/02/19 17:03:35,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 东风微鸣技术博客 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前文回顾
  • HashiCorp 解决方案 - Nomad + Docker
    • 简介
      • 参考架构
        • 方案优点
          • 方案缺点
          • 继续阅读
          • 参考文档
            • References
            相关产品与服务
            容器服务
            腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档