边缘计算中kubernetes网络能大一统吗?

边缘计算集群更靠近终端设备,能提供低延时、高带宽、高可靠、本地安全隐私保护等特性,且集群服务器以linux系统为主,但海量服务器的存在增加了运维难度。 谈边缘计算网络,就得先说说容器以及容器编排系统。对于单机来说,容器技术能有效地将单个操作系统的资源划分到孤立的组中,以便更好地在孤立的组之间平衡有冲突的资源使用需求。容器实际上是结合了namespace 和 cgroup 的一般内核进程,注意,容器就是个进程[1,2]。Docker 是一个开源的应用容器引擎,在工业界和学术界引起了极大关注。Docker 使用客户端-服务器(C/S) 架构模式,使用远程API来管理和创建Docker容器。Docker 容器通过 Docker 镜像来创建。其架构如下图所示[8]:

镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统。

容器(Container):镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。

仓库(Repository):仓库可看着一个代码控制中心,用来保存镜像。

后来,为了实现一个集群(多台服务器)中所有容器中的应用相互协调、共同工作,Apache Mesos、Google Kubernetes 以及 Docker Swarm 等容器编排工具应运而生。那么让集群中所有容器中的应用相互协调工作的基础是什么呢?这便是边缘计算网络要解决的问题。 Kubernetes在17年就已占据77%市场份额[3],而后也逐年上升。因此,主要来看看kubernetes。Kubernetes(k8s)是自动化容器操作的开源平台,这些操作包括部署,调度和节点集群间扩展。其架构组件较多,不一一赘述,读者可自行查阅。这里着重提一下Pod。Pod是kubernetes中可以被创建、销毁、调度的最小单元,其中包含pause容器,以及一个或一组应用容器。如下图所示,一台主机节点可以创建多个Pod,每个Pod中能容纳多个容器,但都会在最初创建pause容器,其他容器与pause容器共享net、ipc、pid等资源。网络模型也是基于docker的网络模型创建和使用的。

Docker原生的跨主机网络模型有overlay,macvlan。macvlan 本身是 linxu kernel 模块,其功能是允许在同一个物理网卡上配置多个 MAC 地址,即多个 interface,每个 interface 可以配置自己的 IP。macvlan本质上是一种网卡虚拟化技术。macvlan 的最大优点是性能极好,相比其他实现,macvlan 不需要创建 Linux bridge,而是直接通过以太 interface 连接到物理网络[4]。但macvlan大大增加了路由的复杂度,为了避免对主机路由的干扰,常常使用overlay网络模型[5]。 Kubernetes可以看做是一个大型的docker容器编排系统,他的CNI(Container NetworkInterface)也遵循docker的原生网络模型。目前kubernetes CNI有非常多的选择,如:Flannel、Calico、Canal、Weave、Kube-router[7]和Antrea。

Flannel: 最成熟、最简单的选择

Calico: 性能好、灵活性最强,目前的企业级主流

Canal: 将Flannel提供的网络层与Calico的网络策略功能集成在一起。

Weave: 独有的功能,是对整个网络的简单加密,会增加网络开销

Kube-router: kube-router采用lvs实现svc网络,采用bgp实现pod网络。

Antrea支持多种网络模型(Overlayand non-overlay modes),可以使用VXLAN、Geneve、GRE或STT作为封装协议[6]。

2019年计算机网络方向顶级会议NSDI中一篇paper(Slim)吸引了笔者注意。它的motivation是原始overlay网络每个包在跨主机间通信的过程中,会遍历两次系统内核网络栈(如Figure 2),而Slim的做法是利用SlimRouter和SlimSocket来改造通信过程,让每个包在跨主机通信时仅仅遍历一次网络栈(如Figure 4)。从而提升吞吐,降低CPU占用。

笔者亲测了借助Slim在跨主机docker里的服务间通信,能让TCP的bandwidth提升到主机间通信的极限,并且可以在Antrea这种CNI中直接使用。猜想一下,overlay模式下的其他CNI可能也可以借助Slim的思想或方法使TCP的bandwidth提升到主机间通信的极限。 以小见大,延伸到整个kubernetes网络世界,笔者认为,虽然因历史原因,已经有很多CNI共存于市场,但如果某种CNI能在不同网络模型下都将性能提升到极致,并且更加方便用户直接使用的同时留出接口,提供二次开发的可能,那么有可能如同kubernetes一样良性循环,有望实现大一统。

作者:曹培睿,上海交通大学。

参考文献:[1]

https://www.cnblogs.com/shuiguizi/p/10922049.html[2]

https://coolshell.cn/articles/17010.html[3]

https://www.kubernetes.org.cn/3241.html[4]

https://blog.csdn.net/wfs1994/article/details/80659232[5] Zhuo D, Zhang K, Zhu Y, et al. Slim: OSKernel Support for a Low-Overhead Container Overlay Network[C]. networkedsystems design and implementation, 2019: 331-344.[6]

https://github.com/vmware-tanzu/antrea[7]

https://www.jianshu.com/p/d9330360fc8c[8]

https://www.runoob.com/docker/docker-architecture.html

感谢阅读,欢迎扩散传播!感谢!

边缘计算社区:促进边缘计算领域知识传播,中立,客观,如果您关注边缘计算、5G、物联网、云原生等领域请关注我们。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,504评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,434评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,089评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,378评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,472评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,506评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,519评论 3 413
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,292评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,738评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,022评论 2 329
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,194评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,873评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,536评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,162评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,413评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,075评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,080评论 2 352