试验性的开源Cillium项目使用Linux内核的一项现有特性,为容器提供高速、强大的网络功能。一项名为Cilium的开源项目试图基于Linux内核中所用的技术,为容器提供一种新的网络方法。

【51CTO.com快译】实验性的开源Cillium项目运用Linux内核的一项现有特性,为容器供给高速、强壮的网络功用。

 开源Cillium项目为容器供给强壮的网络功用 开源 Cillium 网络 第1张

网络功用始终是运用容器时最头痛的扎手问题之一。连Google开源的容器集群办理体系Kubernetes在完成网络功用方面也存在着约束,尽管它正敏捷成为容器编列的***技能。这让网络安全之类的扎手问题变得更扎手了。

现在,一项名为Cilium的开源项目企图根据Linux内核中所用的技能,为容器供给一种新的网络办法――该项目得到了谷歌的部分资助,意图在于为容器供给更好的网络安全和更简略的网络模型。

以BPF办法来联网

Linux中的网络安全机制(比方iptable)一般只适用于网络、数据包和地址这些层面,即OSI模型的第3层。那些机制无法与HTTP之类的协议对话。

Cilium运用Linux的伯克利数据***滤(BPF)技能,在网络层面和HTTP层面为Docker容器或Kubernetes pod履行网络安全战略。

BPF被引进到了Linux 2.5,尔后就成了内核中的一项安稳功用。因为BPF,人们能够在内核里边编译并运转供给网络过滤机制和功用剖析及盯梢剖析的小程序。

据Cilium的GitHub代码库阐明文档显现,Cilium的作业原理是生成内核层面的BPF程序,这些程序可直接与容器协同运转。Cilium能够为每个容器分配一个IPv6地址(或除此之外的IPv4地址),并运用容器标签而非网络路由规矩来履行容器之间的阻隔,而不是为容器创立掩盖网络。它还包含了面向编列体系的整合,以便处理创立和履行Cilium战略的作业。

Cilium运用BPF的两大原因是速度和便当。BPF程序被编译成原生机器代码,那样它们运转起来速度与其他任何内核代码相同快。对Cilium运用的BPF程序加以改动不需求从头引导,乃至不需求容器重启。Cilium的开发者还宣称,BPF程序针对每个容器进行了优化,那样“某个容器不需求的功用彻底不需求编译。”

现处于实验阶段,但终究必不可少

Cilium的一个潜在问题是,它需求版别非常新的Linux内核:4.8.0或更新版别,引荐4.9.17,别的需求LLVM 3.7.1或更新版别。话虽如此,Cilium的功用调集并不受制于任何特定的Linux版别――比方说,“增加Linux内核不供给的额定计算信息”或许“额定的转发逻辑”。

Cilium是容器处理网络功用的一种实验性解决方案,不过对多种办法而言仍有很大的地步――即使是Docker开展过程中的现阶段。Docker的开始网络办法很蠢笨,很难办理,所以这家公司收买了SocketPlane,并将其相似OpenDaylight的网络结构(network fabric)增加到了Docker 1.9。该解决方案默许情况下随带Docker,可是从理论上来说,它能够换成可与Docker API兼容的其他网络产品。

Cilium的长处在于,它是依照与容器相同的思路构建的,运用了现有的Linux内核技能;Docker款式的容器实际上从头包装了长期以来存在于Linux内核中的功用。相同,Cilium可与存在了一段时间的现有技能兼容,有一系列清晰的运用场景,跟容器自身相同挨近内核中的容器层面。

原文标题:Linux kernel holds key for advanced container networking,作者:Serdar Yegulalp

【51CTO译稿,协作站点转载请注明原文译者和出处为51CTO.com】

转载请说明出处
知优网 » 开源Cillium项目为容器供给强壮的网络功用

发表评论

您需要后才能发表评论