基于eBPF的云原生可观测性开源项目Kindling之容器网络定界

背景随着kubernetes逐渐成为应用部署的事实标准,开发运维人员可以更便捷的部署、拓展应用程序,同时也带来了一系列的云上疑难杂症,其中最让人头疼的莫过于网络问题。本文将尝试探索容器网络的定界问题。
摘要由CSDN通过智能技术生成

背景

随着kubernetes逐渐成为应用部署的事实标准,开发运维人员可以更便捷的部署、拓展应用程序,同时也带来了一系列的云上疑难杂症。其中最莫过于头疼的无非是网络问题。由于传统的虚拟机应用使用内核网络比较清晰,内核网络故障概率也比较少,问题往往出现在物理网络,即使问题出现在内核网络,也相对比较容易定界。而容器使用内核网络的方式出现了颠覆性的变化,比如使用了更多的二层、三层转发、不同namespace的通信、各种路由防火墙策略。在如此复杂的环境下,可能某一条网络规则的配置错误或者某个虚拟网络设备的状态不正常都会导致网络故障。

在如此复杂的网络场景下,我们的SRE或者研发工程师很难全局把控容器网络,可以说整个内核网络是一个黑盒。所以,面对这一系列的困境,kindling正在逐步尝试将内核网络白盒化以及帮助工程师确定是容器网络问题还是物理网络问题

Kindling的设想

基于以上问题,假如告诉用户数据包在哪个网络设备之后就“断链”是不是就能缩小问题的排查范围了呢?下图是flannel网络的vxlan模式通信图。

vxlan模式通信图

当podA发起一次调用podB的请求时,中间会经过veth设备、cni网桥、vxlan设备、物理网卡。

  • 对于该次请求而言,如果数据包已经从node1的ens192网卡上发送出去了,而node2并没有收到该次请求,则说明物理网络

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值