Kubernetes收集插件比拟说明(Flannel、Calico、Weave)
副问题[/!--empirenews.page--]
本文将在先容技能道理和响应术语的基本上,再齐集试探与具体比拟今朝最风行的CNI插件:
先容 收集架构是Kubernetes中较为伟大、让许多用户头疼的方面之一。Kubernetes收集模子自己对某些特定的收集成果有必然要求,但在实现方面也具有必然的机动性。因此,业界已有不少差异的收集方案,来满意特定的情形和要求。 CNI意为容器收集接口,它是一种尺度的计划,为了让用户在容器建设或烧毁时都可以或许更轻易地设置容器收集。在本文中,我们将齐集试探与比拟今朝最风行的CNI插件:Flannel、Calico、Weave和Canal(技能上是多个插件的组合)。这些插件既可以确保满意Kubernetes的收集要求,又能为Kubernetes集群打点员提供他们所需的某些特定的收集成果。 配景 容器收集是容器选择毗连到其他容器、主机和外部收集(如Internet)的机制。容器的Runtime提供了各类收集模式,每种模式城市发生差异的体验。 譬喻,Docker默认环境下可觉得容器设置以下收集:
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有关的内容,相识一些常见术语总长短常有效的。 一些最常见的术语包罗:
相识了技能术语和支持衷耘噱件的各类技能之后,下面我们可以开始试探一些最风行的CNI插件了。 CNI较量 Flannel ![]() 链接: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机能更精采而且必要的手动过问更少。 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |