Linux内核为高级容器网络提供关键技术

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 本文讲的是Linux内核为高级容器网络提供关键技术【编者的话】本文介绍了一个为容器提供网络解决方案的实验性开源项目Cilium,该项目利用Linux的BPF技术在应用层完成容器的网络策略。
本文讲的是Linux内核为高级容器网络提供关键技术【编者的话】本文介绍了一个为容器提供网络解决方案的实验性开源项目Cilium,该项目利用Linux的BPF技术在应用层完成容器的网络策略。

【深圳站|3天烧脑式Kubernetes训练营】培训内容包括:Kubernetes概述、架构、日志和监控,部署、自动驾驶、服务发现、网络方案等核心机制分析,进阶篇——Kubernetes调度工作原理、资源管理及源码分析等。

实验性开源项目Cilium使用现有的Linux内核特性为容器提供更快更有力的网络。

容器使用过程中,网络一直是最 令人头疼的问题之一 。即使是Kubernetes这种快速成为容器编排的首选技术,在完善网络方面也存在局限性。类似网络安全这类棘手问题也变得更棘手。

由Google支持的 源项目 Cilium 也在试图提供一种基于Linux内核已有技术的全新网络技术。项目的目标是为容器提供更好的网络安全以及更简单的网络模式。

BPF式网络

Linux里的网络安全机制,例如iptables,只是工作在网络、数据包以及地址层面,也就是 OSI模式中的第三层 。然而这些机制并不会涉及类似HTTP等协议。

Cilium利用Linux的 巴克利包过滤 (BPF)技术,在网络层和HTTP层为Docker容器或者Kubernetes pods实现网络安全策略。

Linux 2.5版本引入BPF并从此稳定在内核里。多亏了BPF技术,使得我们可以编译并运行内核态程序,通过这些程序实现网络过滤机制,实现 性能分析和跟踪

按照Cilium的GitHub资源库文档,Cilium的工作模式是生成内核级别的BPF程序与容器直接交互。 区别于为容器创建overlay网络,Cilium允许每个容器分配一个IPv6地址(或者IPv4地址),使用容器标签而不是网络路由规则去完成容器间的网络隔离。它还包含创建并实施Cilium规则的编排系统的整合。

使用BPF的两大理由是快速性和方便性。BPF被编译成内部机器代码,所以它能像其它内核代码一样快速运行。Cilium使用的BPF程序变化时不需要重启机器甚至容器也不需要重启。Cilium的创造者也指出BPF程序是基于单个容器进行优化,因此特定容器所不需要的特性不编译进去就行了。

实验性质,后续可能成为必要

Cilium的一个潜在争议是它需要较新的内核版本——4.8.0及以后,建议4.9.17同时LLVM版本要求3.7.1及以后。尽管如此,Cilium的一系列特性并不和特定的Linux版本绑定,举个例子,附加的额外统计不是由Linux内核提供,此外其它转发逻辑也是如此。

Cilium为容器展示了一个实验性质的网络解决方案,在多方面都有很大的发展空间,在这点上,Docker解决方案亦然。Docker原生的网络方案不灵活而且不易于管理,于是公司引入了 SocketPlane 并且把它的网络结构OpenDaylight添加到了 Docker 1.9 版本里。这成为Docker默认的网络方案,但是理论上如果有其它网络产品和Docker API配合良好的话,我们可以把SocketPlane方案替换掉。

Cilium的优点在于它使用与容器相同的思路,利用现有的Linux内核技术构建;Docker类型的容器本质上还是既有Linux内核能力的重新整合。同样的,Cilium兼容现有技术,拥有一系列被充分了解的使用场景,接近于容器在内核中的级别。

原文链接:Linux kernel holds key for advanced container networking(翻译:李桦,Stephy)

原文发布时间为:2017-05-07

本文作者:李桦

本文来自云栖社区合作伙伴Dockerone.io,了解相关信息可以关注Dockerone.io。

原文标题:Linux内核为高级容器网络提供关键技术

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
2天前
|
域名解析 网络协议 安全
|
1天前
|
存储 安全 网络安全
云计算与网络安全:技术融合的双刃剑
【10月更文挑战第28天】本文旨在探索云计算在提供便利和效率的同时,如何成为网络安全领域的一大挑战。我们将从云服务的基本架构出发,分析其在信息安全中的关键作用,进而讨论当前网络安全面临的主要威胁及防御策略。文章还将探讨云计算环境中的数据保护、身份验证和访问控制机制,以及如何通过加密技术和安全协议来增强安全性。最后,我们将展望未来云计算与网络安全的发展趋势,并思考如何平衡技术创新与安全需求。
|
3天前
|
运维 安全 5G
|
4天前
|
编解码 安全 Linux
网络空间安全之一个WH的超前沿全栈技术深入学习之路(10-2):保姆级别教会你如何搭建白帽黑客渗透测试系统环境Kali——Liinux-Debian:就怕你学成黑客啦!)作者——LJS
保姆级别教会你如何搭建白帽黑客渗透测试系统环境Kali以及常见的报错及对应解决方案、常用Kali功能简便化以及详解如何具体实现
|
4天前
|
存储 Ubuntu Linux
2024全网最全面及最新且最为详细的网络安全技巧 (三) 之 linux提权各类技巧 上集
在本节实验中,我们学习了 Linux 系统登录认证的过程,文件的意义,并通过做实验的方式对 Linux 系统 passwd 文件提权方法有了深入的理解。祝你在接下来的技巧课程中学习愉快,学有所获~和文件是 Linux 系统登录认证的关键文件,如果系统运维人员对shadow或shadow文件的内容或权限配置有误,则可以被利用来进行系统提权。上一章中,我们已经学习了文件的提权方法, 在本章节中,我们将学习如何利用来完成系统提权。在本节实验中,我们学习了。
|
4天前
|
机器学习/深度学习 人工智能 算法
|
4天前
|
安全 网络协议 算法
网络空间安全之一个WH的超前沿全栈技术深入学习之路(8-1):主动信息收集之ping、Nmap 就怕你学成黑客啦!
网络空间安全之一个WH的超前沿全栈技术深入学习之路(8-1):主动信息收集之ping、Nmap 就怕你学成黑客啦!
|
4天前
|
网络协议 安全 NoSQL
网络空间安全之一个WH的超前沿全栈技术深入学习之路(8-2):scapy 定制 ARP 协议 、使用 nmap 进行僵尸扫描-实战演练、就怕你学成黑客啦!
scapy 定制 ARP 协议 、使用 nmap 进行僵尸扫描-实战演练等具体操作详解步骤;精典图示举例说明、注意点及常见报错问题所对应的解决方法IKUN和I原们你这要是学不会我直接退出江湖;好吧!!!
网络空间安全之一个WH的超前沿全栈技术深入学习之路(8-2):scapy 定制 ARP 协议 、使用 nmap 进行僵尸扫描-实战演练、就怕你学成黑客啦!
|
2天前
|
人工智能 Anolis 开发者