前文回顾

  1. 大规模 IoT 边缘容器集群治理的几种架构-0-边缘容器及架构简介
  2. 大规模 IoT 边缘容器集群治理的几种架构-1-Rancher+K3s
Reference:
IoT 边缘计算系列文章

HashiCorp 解决方案 - Nomad + Docker

简介

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

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

Nomad 凭借其简略性、灵活性可扩展性高性能与相干工具辨别开来。Nomad 的协同作用和整合点 HashiCorp Terraform、Consul 和 Vault 使其特地适宜轻松集成到 组织的现有工作流程,最大限度地缩小要害打算的上市工夫。

应用 Nomad 来安顿更靠近用户的边缘工作负载。用 Nomad 的本地服务发现连贯边缘服务。无缝地解决不稳固的 Nomad 客户端节点连贯。

参考架构

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

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 1.3 以上版本的 native service discovery 还打消了在每个边缘设施上装置 Consul agent 的须要。这进一步缩小了 Nomad 的资源占用。
  • 设施插件和 GPU 反对:Nomad 为 GPU 工作负载(如机器学习(ML)和人工智能(AI))提供内置反对。Nomad 应用设施 插件 来自动检测和利用来自硬件设施(如 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
  2. 大规模 IoT 边缘容器集群治理的几种架构-4-Kubeedge
  3. 大规模 IoT 边缘容器集群治理的几种架构-5-总结

参考文档

  • Managing Applications at the Edge with HashiCorp Nomad
三人行, 必有我师; 常识共享, 天下为公. 本文由东风微鸣技术博客 EWhisper.cn 编写.