前文回顾

  1. 大规模 IoT 边缘容器集群管理的几种架构-0-边缘容器及架构简介
  2. 大规模 IoT 边缘容器集群管理的几种架构-1-Rancher+K3s
  3. 大规模 IoT 边缘容器集群管理的几种架构-2-HashiCorp 解决方案 Nomad
  4. 大规模 IoT 边缘容器集群管理的几种架构-3-Portainer

Reference:

IoT 边缘计算系列文章

Kubeedge

简介

KubeEdge 是一个开源系统,用于将本地容器化应用协调能力扩展到边缘的主机。它建立在 kubernetes 之上,为网络、应用部署和云与边缘之间的元数据同步提供基本的基础设施支持。

Kubeedge 的目标是建立一个开放的平台来实现边缘计算,将原生的容器化应用协调能力扩展到边缘的主机,该平台建立在 kubernetes 之上,为云和边缘之间的网络、应用部署和元数据同步提供基本的基础设施支持。

参考架构

  • “云”:Kubernetes 集群 + CloudCore(包括: CloudHub、EdgeController、DeviceController)
  • “边”:EdgeCore
    • Edged: 轻量化的 Kubelet 实现
    • EdgeHub
    • DeviceTwin
    • MetaManager
    • ServiceBus
  • "端": 各类 IoT 设备 Mappers

方案优点

  • CNCF 首个云原生边缘计算项目: 基于 Kubernetes, 为边缘做了很多优化和适配。功能强大且完善。全球开发者众多。
  • 大规模: 单集群突破 10 万边缘节点
  • 边缘设备管理: 完善的边缘设备管理,支持多种边缘设备通信协议,如 MQTT、Modbus、Bluetooth、OPC UA 等,支持自定义插件扩展边缘设备协议。
  • 100%兼容 Kubernetes 原生能力: 支持用户使用 Kubernetes 原生 API 统一管理边缘应用
  • 边缘可靠的 list-watch 接口
  • 轻量: 针对资源受限场景进行自身组件轻量化,~70MB 内存占用
  • 支持复杂的边云网络环境: 双向多路复用的边云消息通道,支持边缘位于私有网络; 应用层可靠增量同步机制,支持在高时延、低质量网络环境下工作
  • 边缘自治: 支持边缘离线自治:边缘元数据持久化、边缘 DNS,保证边缘离线时的业务运行和故障恢复能力(相比起来,k3s 的边缘自治算是"伪边缘自治"); 支持边缘数据流式处理,定义边缘数据清洗、数据分析等处理工作
  • 边云一体资源调度和流量协同: 支持边缘节点 (edged 节点,在 kubernetes 看来也是一个 node) 和云节点混合管理,提供边云数据通信和边边数据通信
  • DMI 架构设备管理: 管理面数据与业务面数据分离
  • EdgeMesh: 跨云边、边边的应用互访通信;边缘内置域名解析能力,不依赖中心 DNS; 支持 L4,L7 流量治理;支持跨越边云的一致的服务发现和访问体验;跨子网通信
  • Sedna: AI 边云协同套件

方案缺点

  • 复杂度高: Kubeedge 基于 Kubernetes, 但是针对边缘计算场景做了大量的功能扩展,这使得要用好 Kubeedge, 不仅要懂 Kubernetes, 还需要懂 Kubeedge, 还需要懂边缘业务/边缘通信协议。入门学习曲线极为陡峭。
  • 中文文档质量一般: 查看 Kubeedge 官网中文文档,发现以下问题:版本更新后文档未更新;文档生硬机翻英文文档;文档组织结构存在问题,很难"quick start"; 甚至还有低级的文档排版错乱,markdown 错乱等问题。
  • 资源占用其实也不少: 如果只是安装 edgecore 或 edged, 资源占用相对可控。如果需要使用到更多的功能,如 EdgeMesh, Sedna, 边缘设备管理,Kubernetes 的 CSI CNI 实现,那么这些功能都需要启用或额外安装相应插件。导致资源占用上升。
  • 边缘容器管理和边缘计算业务有一定耦合: Kubeedge 除了提供边缘容器管理基本功能外,还提供了大量与边缘计算业务有密切关系的功能,可能会导致部门耦合。
  • 自动化运维困难: 其他 3 个方案,都会提供一键式的安装运维脚本或自动化部署/运维功能,Kubeedge 这方面相对缺乏,自动化运维能力需要自行探索。

继续阅读

大规模 IoT 边缘容器集群管理的几种架构-5-总结

参考资料

三人行, 必有我师; 知识共享, 天下为公. 本文由东风微鸣技术博客 EWhisper.cn 编写.

大规模 IoT 边缘容器集群管理的几种架构-4-Kubeedge的更多相关文章

  1. 容器、容器集群管理平台与 Kubernetes 技术漫谈

    原文:https://www.kubernetes.org.cn/4786.html 我们为什么使用容器? 我们为什么使用虚拟机(云主机)? 为什么使用物理机? 这一系列的问题并没有一个统一的标准答案 ...

  2. Docker&Kubernetes沙龙干货集锦:容器集群管理利器kubernetes详谈-CSDN.NET

    Docker&Kubernetes沙龙干货集锦:容器集群管理利器kubernetes详谈-CSDN.NET undefined Package - crawler undefined 科学网- ...

  3. Docker容器集群管理之Swarm

    Docker容器集群管理主流方案 Swarm Docker公司自研发的集群管理系统. Kubernetes Google开源的一个容器集群管理系统,用于自动化部署.扩展和管理容器应用.也称为K8S ...

  4. Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录

    0.目录 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 一.感谢 在此感谢.net ...

  5. Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之集群部署环境规划(一)

    0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 一.环境规划 软件 版本 ...

  6. Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之自签TLS证书及Etcd集群部署(二)

    0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 一.服务器设置 1.把每一 ...

  7. Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之flanneld网络介绍及部署(三)

    0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 一.flanneld介绍 ...

  8. Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之部署master/node节点组件(四)

    0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 1.部署master组件 ...

  9. Kubernetes容器集群管理环境 - Prometheus监控篇

    一.Prometheus介绍之前已经详细介绍了Kubernetes集群部署篇,今天这里重点说下Kubernetes监控方案-Prometheus+Grafana.Prometheus(普罗米修斯)是一 ...

  10. Kubernetes容器集群管理环境 - 完整部署(中篇)

    接着Kubernetes容器集群管理环境 - 完整部署(上篇)继续往下部署: 八.部署master节点master节点的kube-apiserver.kube-scheduler 和 kube-con ...

随机推荐

  1. MyEclipse连接MySQL

    在官网http://www.mysql.com/downloads/下载数据库连接驱动 本文中使用驱动版本为mysql-connector-java-5.1.40 一.创建一个java测试项目MySQ ...

  2. 【Shell案例】【!~//、grep反向查找、sed流编辑器】13、去掉所有包含this的句子

    描述写一个 bash脚本以实现一个需求,去掉输入中含有this的语句,把不含this的语句输出示例:假设输入如下:that is your bagis this your bag?to the deg ...

  3. 【Day02】Spring Cloud组件的使用--Nacos配置中心、sentinel流量控制、服务网关Gateway、RocketMQ、服务调用链路(Sleuth、zipkin)

    今日内容 一.配置中心 1.遗留问题 yml配置,每一次都需要重启项目 需要不重启项目拿到更新的结果 引出:配置中心 选择:Spring Cloud Config组件 / Alibaba的Nacos( ...

  4. 多进程TCP服务端并发- 进程join方法 - IPC机制

    目录 同步与异步 阻塞与非阻塞 综合使用 创建进程的多种方式 进程间数据隔离 进程join方法 IPC机制 生产者消费者模型 进程对象的多种方法 僵尸进程与孤儿进程 守护进程 多线程实现TCP服务端并 ...

  5. O-MVLL代码混淆方式

    在介绍O-MVLL之前,首先介绍什么是代码混淆以及基于LLVM的代码混淆,O-MVLL项目正是基于此而开发来的. 有关O-MVLL的概括介绍以及安装和基本使用方式,可参见另一篇随笔 https://w ...

  6. MySQL存储 pymysql模块

    目录 pymysql模块 基本使用 cursor=pymysql.cursors.DictCursor 获取数据 fetchall 移动光标 scroll 增删改二次确认 commit autocom ...

  7. markdown语法使用

    markdown语法使用 标题系列 ​ 1.警号 ​ 2.快捷键 ​ ctrl + 数字(1~6) 小标题系列 * 文本 无序标题 + 文本 无序标题 数字 文本 有序标题 语言环境 表格制作 表情制 ...

  8. 通过GitHub和阿里云自定义域名实现https认证

    在GitHub中的操作 登录GitHub, 点击"Your repositories",进入个人仓库页面: 点击"new",进入新建仓库页面: 仓库名称填写&l ...

  9. ClickHouse MergeTree引擎

    Clickhouse 中最强大的表引擎当属 MergeTree (合并树)引擎及该系列(*MergeTree)中的其他引擎. MergeTree 系列的引擎被设计用于插入极大量的数据到一张表当中.数据 ...

  10. 一个开放源代码,实现动态IL注入(Hook或补丁工具)框架:Lib.Harmony(Patch,PatchAll,Prefix,Postfix,Transpiler)

    详情请参考原文:一个开放源代码,实现动态IL注入(Hook或补丁工具)框架:Lib.Harmony