加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

Kubernetes收集插件比拟说明(Flannel、Calico、Weave)

发布时间:2019-07-03 18:31:08 所属栏目:教程 来源:残花花败柳柳
导读:本文将在先容技能道理和响应术语的基本上,再齐集试探与具体比拟今朝最风行的CNI插件: Flannel Calico Weave 先容 收集架构是Kubernetes中较为伟大、让许多用户头疼的方面之一。Kubernetes收集模子自己对某些特定的收集成果有必然要求,但在实现方面也具
副问题[/!--empirenews.page--]

Kubernetes收集插件比拟说明(Flannel、Calico、Weave)

本文将在先容技能道理和响应术语的基本上,再齐集试探与具体比拟今朝最风行的CNI插件:

  • Flannel
  • Calico
  • Weave

先容

收集架构是Kubernetes中较为伟大、让许多用户头疼的方面之一。Kubernetes收集模子自己对某些特定的收集成果有必然要求,但在实现方面也具有必然的机动性。因此,业界已有不少差异的收集方案,来满意特定的情形和要求。

CNI意为容器收集接口,它是一种尺度的计划,为了让用户在容器建设或烧毁时都可以或许更轻易地设置容器收集。在本文中,我们将齐集试探与比拟今朝最风行的CNI插件:Flannel、Calico、Weave和Canal(技能上是多个插件的组合)。这些插件既可以确保满意Kubernetes的收集要求,又能为Kubernetes集群打点员提供他们所需的某些特定的收集成果。

配景

容器收集是容器选择毗连到其他容器、主机和外部收集(如Internet)的机制。容器的Runtime提供了各类收集模式,每种模式城市发生差异的体验。

譬喻,Docker默认环境下可觉得容器设置以下收集:

  • none:将容器添加到一个容器专门的收集仓库中,没有对外毗连。
  • host:将容器添加到主机的收集仓库中,没有断绝。
  • default bridge:默认收集模式。每个容器可以通过IP地点彼此毗连。
  • 自界说网桥:用户界说的网桥,具有更多的机动性、断绝性和其他便利成果。

Docker还可以让用户通过其他驱动措施和插件,来设置更高级的收集(包罗多主机包围收集)。

CNI的初志是建设一个框架,用于在设置或烧毁容器时动态设置恰当的收集设置和资源。下面链接中的CNI类型归纳综合了用于配制收集的插件接口,这个接口可以让容器运行时与插件举办和谐:

https://github.com/containernetworking/cni/blob/master/SPEC.md

插件认真为接口设置和打点IP地点,而且凡是提供与IP打点、每个容器的IP分派、以及多主机毗连相干的成果。容器运行时会挪用收集插件,从而在容器启动时分派IP地点并设置收集,并在删除容器时再次挪用它以整理这些资源。

运行时或和谐器抉择了容器应该插手哪个收集以及它必要挪用哪个插件。然后,插件会将接口添加到容器收集定名空间中,作为一个veth对的一侧。接着,它会在主机长举办变动,包罗将veth的其他部门毗连到网桥。再之后,它会通过挪用单独的IPAM(IP地点打点)插件来分派IP地点并配置路由。

在Kubernetes中,kubelet可以在恰当的时刻挪用它找到的插件,来为通过kubelet启动的pod举办自动的收集设置。

术语

在对CNI插件们举办较量之前,我们可以先对收集中接见到的相干术语做一个整体的相识。岂论是阅读本文,照旧此后打仗到其他和CNI有关的内容,相识一些常见术语总长短常有效的。

一些最常见的术语包罗:

  • 第2层收集:OSI(Open Systems Interconnections,开放体系互连)收集模子的“数据链路”层。第2层收集会处理赏罚收集上两个相邻节点之间的帧转达。第2层收集的一个值得留意的示例是以太网,个中MAC暗示为子层。
  • 第3层收集:OSI收集模子的“收集”层。第3层收集的首要存眷点,是在第2层毗连之上的主机之间路由数据包。IPv4、IPv6和ICMP是第3层收集协议的示例。
  • VXLAN:代表“假造可扩展LAN”。起首,VXLAN用于通过在UDP数据报中封装第2层以太网帧来辅佐实现大型云陈设。VXLAN假造化与VLAN相同,但提供更大的机动性和成果(VLAN仅限于4096个收集ID)。VXLAN是一种封装和包围协议,可在现有收集上运行。
  • Overlay收集:Overlay收集是成立在现有收集之上的假造逻辑收集。Overlay收集凡是用于在现有收集之上提供有效的抽象,并疏散和掩护差异的逻辑收集。
  • 封装:封装是指在附加层中封装收集数据包以提供其他上下文和信息的进程。在overlay收集中,封装被用于从假造收集转换到底层地点空间,从而能路由到差异的位置(数据包可以被解封装,并继承到其目标地)。
  • 网状收集:网状收集(Mesh network)是指每个节点毗连到很多其他节点以协作路由、并实现更大毗连的收集。网状收集应承通过多个路径举办路由,从而提供更靠得住的收集。网状网格的弱点是每个附加节点城市增进大量开销。
  • BGP:代表“界线网关协议”,用于打点边沿路由器之间数据包的路由方法。BGP通过思量可用路径,路由法则和特定收集计策,辅佐弄清晰怎样将数据包从一个收集发送到另一个收集。BGP偶然被用作CNI插件中的路由机制,而不是封装的包围收集。

相识了技能术语和支持衷耘噱件的各类技能之后,下面我们可以开始试探一些最风行的CNI插件了。

CNI较量

Flannel

kubernetes收集插件比拟说明(flannel、calico、weave)

链接:https://github.com/coreos/flannel

由CoreOS开拓的项目Flannel,大噶?鲱直接和最受接待的CNI插件。它是容器编排体系中最成熟的收集布局示例之一,旨在实现更好的容器间和主机间收集。跟着CNI观念的鼓起,Flannel CNI插件算是早期的入门。

与其他方案对比,Flannel相对轻易安装和设置。它被打包为单个二进制文件FlannelD,很多常见的Kubernetes集群陈设器材和很多Kubernetes刊行版都可以默认安装Flannel。Flannel可以行使Kubernetes集群的现有etcd集群来行使API存储其状态信息,因此不必要专用的数据存储。

Flannel设置第3层IPv4 Overlay收集。它会建设一个大型内部收集,超过集群中每个节点。在此Overlay收集中,每个节点都有一个子网,用于在内部门配IP地点。在设置Pod时,每个节点上的Docker桥接口城市为每个新容器分派一个地点。统一主机中的Pod可以行使Docker桥接举办通讯,而差异主机上的pod会行使flanneld将其流量封装在UDP数据包中,以便路由到恰当的方针。

Flannel有几种差异范例的后端可用于封装和路由。默认和保举的要领是行使VXLAN,由于VXLAN机能更精采而且必要的手动过问更少。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读