V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
robolwq
V2EX  ›  Kubernetes

Linux 超能力 BPF 技术介绍及学习分享

  •  
  •   robolwq · 2020-09-15 13:51:53 +08:00 · 3714 次点击
    这是一个创建于 1311 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近在技术社区做了一次关于 BPF 技术的学习分享,介绍了 BPF 技术发展和应用( cilium 、falco 和 kubectl-trace ),以及本人是如何学习 BPF 技术,全文分享给大家:https://davidlovezoe.club/bpf

    10 条回复    2020-10-03 20:03:07 +08:00
    fengjianxinghun
        1
    fengjianxinghun  
       2020-09-15 14:41:21 +08:00
    挺不错,主要用了用 bcc,cilium 能脱离 k8s 做 docker 流量转发么?
    ManjusakaL
        2
    ManjusakaL  
       2020-09-15 15:13:39 +08:00
    很棒的文章
    holyzhou
        3
    holyzhou  
       2020-09-15 18:04:29 +08:00
    赞。
    lewis89
        4
    lewis89  
       2020-09-15 18:42:18 +08:00
    BPF? 我记得很早的 libpcap 就用的这玩意吧
    Nitroethane
        5
    Nitroethane  
       2020-09-15 18:54:44 +08:00
    @lewis89 #4 现在的 BPF 实际是 eBPF,e 即 extended,功能不止是 packet filtering 了
    lewis89
        6
    lewis89  
       2020-09-15 19:01:26 +08:00
    @Nitroethane #5 不了解,内核的东西 根本就没了解过,都是用高层封装好的库,libpcap 当年用来做 ARP 欺骗,在以太网玩玩 挺有意思的 还可以分析一些开发调试时 mysql 跟 redis 的通讯
    robolwq
        7
    robolwq  
    OP
       2020-09-16 13:05:31 +08:00
    @fengjianxinghun 可以通过 docker network 创建一个 cilium 类型的私网,详情见文档: https://docs.cilium.io/en/stable/gettingstarted/docker/
    fengjianxinghun
        8
    fengjianxinghun  
       2020-09-16 18:21:10 +08:00
    @robolwq cilium 我跑起来了,直接用 docker-compose build,不用 Vagrant 。问题是他的网络 policy 并没有转发一项。

    比如容器内访问任意 ip,我都想重定向某个 ip+某个端口上这种规则。
    robolwq
        9
    robolwq  
    OP
       2020-09-16 21:42:06 +08:00 via iPhone
    @fengjianxinghun 这个需求得自己写 bpf 程序
    fengjianxinghun
        10
    fengjianxinghun  
       2020-10-03 20:03:07 +08:00
    @robolwq 我自己写的 ebpf/xdp 做了,cilium 什么的确实不行
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5382 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 08:34 · PVG 16:34 · LAX 01:34 · JFK 04:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.