Recent Posts
-
2020-12-31
Cilium 源码解析:Node 之间的健康探测(health probe)机制
TL; DR 1 设计 1.1 Full-mesh 健康探测 1.2 四种 probe 类型 1.3 Probe results 1.4 cilium-health-ep: cilium-health endpoint 1.5 小结 2 实现 2.1 初始化流程 2.2 initHealth() -> Launch() -> runServer() -> server.Serve() 2.3 ru...
-
2020-12-17
[译] 云原生世界中的数据包标记(packet mark)(LPC, 2020)
译者序本文翻译自 2020 年 Joe Stringer 在 Linux Plumbers Conference 的一篇分享:Packet Mark In a Cloud Native World。探讨一个在网络和安全领域非常重要但又讨论甚少的主题:skb mark。skb mark 是打在内核数据包(skb )上的数字标记,例如,可能是一个 16bit 或32bit 整数表示。这个 mark 只存在于每台主机内部,当包从网卡发出去之后,这个信息就丢失了 —— 也就是说,它并没有存储在任何 packet header 中。skb...
-
2020-11-29
[译] 利用 eBPF 支撑大规模 K8s Service (LPC, 2019)
译者序本文翻译自 2019 年 Daniel Borkmann 和 Martynas Pumputis 在 Linux Plumbers Conference 的一篇分享:Making the Kubernetes Service Abstraction Scale using eBPF 。翻译时对大家耳熟能详或已显陈旧的内容(K8s 介绍、Cilium 1.6 之前的版本对 Service实现等)略有删减,如有需要请查阅原 PDF。实际上,一年之后 Daniel 和 Martynas 又在 LPC 做了一次分享,内容是本文的延...
-
2020-11-24
[译] 基于 BPF/XDP 实现 K8s Service 负载均衡 (LPC, 2020)
译者序本文翻译自 2020 年 Daniel Borkmann 和 Martynas Pumputis 在 Linux Plumbers Conference 的一篇分享:K8s Service Load Balancing with BPF & XDP。文章介绍了 K8s 的一些核心网络模型和设计、Cilium 对 K8s Service 的实现、BPF/XDP性能优化,以及他们从中得到的一些实践经验,全是干货。由于译者水平有限,本文不免存在遗漏或错误之处。如有疑问,请查阅原文。 译者序 1 K8s 网络基础:访问...
-
2020-11-13
计算规模驱动下的网络方案演进
1 引言 2 裸金属(BM)时代 2.1 平台特点 2.2 网络需求 2.3 网络解决方案 2.4 网络瓶颈分析(计算规模相关) 3 虚拟机(VM)时代 3.1 平台特点 3.2 网络需求 3.3 网络解决方案 3.4 网络瓶颈分析(计算规模相关) 4 容器时代 4.1 沿用大二层模型 4.2 避免网络瓶颈 4.3 重新审视容器的网络需求 4.4 网络解...
-
2020-11-04
Trip.com: Stepping into Cloud Native Networking Era with Cilium+BGP
This post also provides a Chinese version.This post serves as a successor to our previous postTrip.com: First Step towards Cloud Native Networking.We will update some of our recent progresses on Cilium-based networking & security. 1 Networking @Trip.com: a qui...
-
2020-11-04
迈入 Cilium+BGP 的云原生网络时代
This post also provides an English version.本文是我们的前一篇博客Trip.com: First Step towards Cloud Native Networking的后续,介绍自上一篇博客以来我们在基于 Cilium 的云原生网络和云原生安全方面的一些探索和实践。 1 网络演进:简要回顾 2 云原生网络实践 2.1 BGP 建连模型 2.2 典型流量转发路径:从 Pod 访问 Service 2.3 集群边界 L4/L7 入口解决方案 ...
-
2020-10-08
[译] 《Linux 高级路由与流量控制手册(2012)》第九章:用 tc qdisc 管理 Linux 网络带宽
译者序本文内容来自 Linux Advanced Routing & Traffic Control HOWTO (2012) ,这是一份在线文档(小书),直译为《Linux 高级路由与流量控制手册》。本文翻译第九章 Chapter 9. Queueing Disciplines for Bandwidth Management。这份文档年代略久,但 qdisc 部分整体并未过时,并且是我目前看过的内容最详实、可读性最好的 tc qdisc 教程。另外,看到 [1,2] 中几张 qdisc 图画的非常不错,形象直观,易于...
-
2020-09-12
Life of a Packet in Cilium: Discovering the Pod-to-Service Traffic Path and BPF Processing Logics
Note: this post also provides aChinese version,but may update less timely as this one. Introduction Problem faced Purpose of this post Environments and configurations Other aspects Step 1: POD1 eth0: accessing a Service 1.1 ...
-
2020-09-12
Life of a Packet in Cilium:实地探索 Pod-to-Service 转发路径及 BPF 处理逻辑
Note: this post also provides aEnglish version. 引言 面临的问题 本文目的 环境及配置信息 其他说明 Step 1: POD1 eth0 发送 1.1 访问 ServiceIP 1.2 确定目的 MAC 地址 1.3 进一步探究 Step 2: POD1 eth0 对端设备(lxcxx)BPF 处理 2.1 查看加载的 BPF 程序 2...