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

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
简介: 大规模 IoT 边缘容器集群管理的几种架构 -2-HashiCorp 解决方案 Nomad

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 使用设备插件来自动检测和利用来自硬件设备(如 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 简单
相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
22天前
|
分布式计算 Kubernetes Hadoop
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
101 6
|
2月前
|
Cloud Native 云计算 Docker
云原生之旅:从容器化到微服务架构
【9月更文挑战第27天】本文将引领读者进入云原生的世界,探索如何通过容器化技术实现应用的快速部署与扩展,并深入理解微服务架构的设计哲学。我们将一起见证代码如何转化为可在云端无缝运行的服务,同时讨论云原生生态中的最佳实践和面临的挑战。
|
7天前
|
缓存 前端开发 JavaScript
前端的全栈之路Meteor篇(二):容器化开发环境下的meteor工程架构解析
本文详细介绍了使用Docker创建Meteor项目的准备工作与步骤,解析了容器化Meteor项目的目录结构,包括工程准备、环境配置、容器启动及项目架构分析。提供了最佳实践建议,适合初学者参考学习。项目代码已托管至GitCode,方便读者实践与交流。
|
14天前
|
运维 Serverless 数据处理
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
41 3
|
22天前
|
传感器 存储 架构师
构建基于 IoT 的废物管理系统:软件架构师指南
构建基于 IoT 的废物管理系统:软件架构师指南
59 9
|
22天前
|
Kubernetes 安全 微服务
使用 Istio 缓解电信 5G IoT 微服务 Pod 架构的安全挑战
使用 Istio 缓解电信 5G IoT 微服务 Pod 架构的安全挑战
42 8
|
22天前
|
Rust 资源调度 安全
为什么使用 Rust over C++ 进行 IoT 解决方案开发
为什么使用 Rust over C++ 进行 IoT 解决方案开发
47 7
|
26天前
|
消息中间件 负载均衡 Cloud Native
云原生之旅:从容器到微服务的架构演变
在数字化转型的风潮中,云原生技术以其灵活性、可扩展性和弹性而备受青睐。本文将通过一个虚拟的故事,讲述一个企业如何逐步拥抱云原生,实现从传统架构向容器化和微服务架构的转变,以及这一过程中遇到的挑战和解决方案。我们将以浅显易懂的方式,探讨云原生的核心概念,并通过实际代码示例,展示如何在云平台上部署和管理微服务。
|
25天前
|
运维 Kubernetes Cloud Native
云原生之旅:从容器化到微服务架构的演进之路
在数字化转型的浪潮中,云原生技术如同一股清流,为现代软件开发和运维带来革命性的变化。本文将通过深入浅出的方式,探索云原生的核心概念、关键技术以及它们如何共同塑造了今天的云基础设施和服务模式。我们将一起走进云原生的世界,了解它如何影响应用程序的设计、部署和扩展,并揭示这一趋势背后的哲学和实践。
27 1
|
8天前
|
运维 Kubernetes 开发者
构建高效后端服务:微服务架构与容器化技术的结合
【10月更文挑战第18天】 在数字化转型的浪潮中,企业对后端服务的要求日益提高,追求更高的效率、更强的可伸缩性和更易于维护的系统。本文将探讨微服务架构与容器化技术如何结合,以构建一个既灵活又高效的后端服务体系。通过分析当前后端服务面临的挑战,介绍微服务和容器化的基本概念,以及它们如何相互配合来优化后端服务的性能和管理。本文旨在为开发者提供一种实现后端服务现代化的方法,从而帮助企业在竞争激烈的市场中脱颖而出。
11 0

热门文章

最新文章