边缘应用的简化网络和服务 EdgeMesh

Apache-2.0
Google Go SHELL
跨平台
2021-09-10
白开水不加糖

EdgeMesh 作为 KubeEdge 的一部分,为边缘场景下的服务互访提供了简单的网络方案。

背景

KubeEdge基于Kubernetes构建,将云原生容器化应用程序编排能力延伸到了边缘。但是,在边缘计算场景下,网络拓扑较为复杂,不同区域中的边缘节点往往网络不互通,并且应用之间流量的互通是业务的首要需求,而EdgeMesh正是对此提供了一套解决方案。

动机

EdgeMesh作为KubeEdge集群的数据面组件,为KubeEdge集群中的应用程序提供了简单的服务发现与流量代理功能,从而屏蔽了边缘场景下复杂的网络结构。

优势

EdgeMesh 满足边缘场景下的新需求(如边缘资源有限,边云网络不稳定等),即实现了高可用性,高可靠性和极致轻量化:

  • 高可用性
    • 利用 KubeEdge 中的边云通道,来打通边缘节点间的网络
    • 将边缘节点间的通信分为局域网内和跨局域网
      • 局域网内的通信:直接访问
      • 跨局域网的通信:通过云端转发
  • 高可靠性 (离线场景)
    • 控制面和数据面流量都通过边云通道下发
    • EdgeMesh 内部实现轻量级的 DNS 服务器,不再访问云端 DNS
  • 极致轻量化
    • 每个节点有且仅有一个 EdgeMesh,节省边缘资源

用户价值

  • 对于资源受限的边缘设备,EdgeMesh 提供了一个轻量化且具有高集成度的服务发现软件
  • 在现场边缘的场景下,相对于 coredns + kube-proxy + cni 这一套服务发现机制,用户只需要简单地部署一个 EdgeMesh 就能完成目标

关键功能

功能 子功能 实现度
服务发现 /
流量治理 HTTP
TCP
Websocket
HTTPS
负载均衡 随机
轮询
会话保持
外部访问 /
多网卡监听 /
跨子网通信 跨边云通信
跨局域网边边通信
边缘CNI 跨子网Pod通信 +

注:

  •  EdgeMesh 版本所支持的功能
  • + EdgeMesh 版本不具备的功能,但在后续版本中会支持
  • - EdgeMesh 版本不具备的功能,或已弃用的功能

未来工作:

架构:

加载中

暂无资讯

暂无问答

暂无博客

返回顶部
顶部