ArthurChiao's Blog

Recent Posts

  • 2020-11-24

    [译] Cilium:基于 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 教程。tc/qdisc 是 Cilium/eBPF 依赖的最重要的网络基础设施之...

  • 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...

  • 2020-09-06

    [译] 大规模微服务利器:eBPF + Kubernetes(KubeCon, 2020)

    译者序本文翻译自 2020 年 Daniel Borkmann 在 KubeCon 的一篇分享:eBPF and Kubernetes: Little Helper Minions for Scaling Microservices,视频见油管。翻译已获得 Daniel 授权。Daniel 是 eBPF 两位 maintainer 之一,目前在 eBPF commits榜单上排名第一,也是 Cilium 的核心开发者之一。本文内容的时间跨度有 8 年,覆盖了 eBPF 发展的整个历史,非常值得一读。时间限制,Daniel 很多地...

  • 2020-09-04

    [译] 深入理解 Cilium 的 eBPF 收发包路径(datapath)(KubeCon, 2019)

    译者序本文翻译自 2019 年 DigitalOcean 的工程师 Nate Sweet 在 KubeCon 的一篇分享: Understanding (and Troubleshooting) the eBPF Datapathin Cilium。由于译者水平有限,本文不免存在遗漏或错误之处。如有疑问,请查阅原文。 译者序 1 为什么要关注 eBPF? 1.1 网络成为瓶颈 1.2 eBPF 无处不在 1.3 性能就是金钱 2 eBPF 是什么? 3 为什么 eBPF ...

  • 2020-08-17

    Cilium Code Walk Through: ClusterMesh

    This post walks through the ClusterMesh implementation in cilium.Code bases on 1.8.2.This post belongs toCilium Code Walk Through Series. 1 Daemon start: bootstrapClusterMesh() 2 Create clustermesh: NewClusterMesh() 2.1 Watch config directory 2.2 New ...