ArthurChiao's Blog

Recent Posts

  • 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: What the Agents Do When ClusterMesh Enabled

    This post walks through the ClusterMesh implementation in cilium.Code based on 1.9.5.A previous post Cilium ClusterMesh: A Hands-on Guideis recommended (also where the above picture comes from) before reading this one.This post is included in theCilium Code Walk Thro...

  • 2020-08-13

    Cilium ClusterMesh: A Hands-on Guide

    TL;DR 1 Introduction 1.1 Cilium-powered k8s cluster 1.2 Multi-cluster scenarios (why multi-cluster?) 1.3 Cross-cluster accessing models 1.4 Where clustermesh is needed 2 Test environment 3 ClusterMesh setup 3.1 Configuratio...

  • 2020-08-09

    Connection Tracking (conntrack): Design and Implementation Inside Linux Kernel

    Note: this post also provides aChinese version. Abstract 1 Introduction 1.1 Concepts 1.2 Thoery 1.3 Design: Netfilter 1.4 Design: further considerations 1.5 Use cases 1.5.1 Network address translation (NAT) ...

  • 2020-08-05

    连接跟踪(conntrack):原理、应用及 Linux 内核实现

    This post also provides an English version. 摘要 1 引言 1.1 概念 1.2 原理 1.3 设计:Netfilter 1.4 设计:进一步思考 1.5 应用 1.5.1 网络地址转换(NAT) 四层负载均衡(L4LB) 1.5.2 有状态防火墙 ...

  • 2020-07-15

    [译] 星巴克不使用两阶段提交(2004)

    译者序本文翻译自 2004 年的一篇文章: Starbucks Does Not Use Two-PhaseCommit.由于译者水平有限,本文不免存在遗漏或错误之处。如有疑问,请查阅原文。以下是译文。 译者序 1 请给我一杯热巧克力(Hotto Cocoa o Kudasai) 2 关联(Correlation) 3 异常处理(Exception Handling) 3.1 销账(Write-off) 3.2 重试(Retry) 3.3 补偿(Compensating Action...

  • 2020-07-03

    Cilium Code Walk Through: Add Network Policy

    This post is included inCilium Code Walk Through Series.This post walks you through the network policy enforcement process. Code basedon Cilium 1.8.0/1.10.7.NOTE: this post is not well organized yet, posted mainly to memorize the calling stack. 1 Call stack: start f...

  • 2020-06-27

    [笔记] The AWK Programming Language(ADDISON-WESLEY, 1988)

    编者按本文是阅读 The AWK Programming Language 一书时所做的笔记。本文内容仅供学习交流,如有侵权立即删除。 编者按 前言 AWK 的演进 1 AWK 入门教程(AN AWK TUTORIAL) 1.1 Getting Started AWK 程序的结构 运行 AWK 程序 1.2 基本输出(Simple Output) 例子 ...