网络抓包探针在K8S中的技术问题-DaemonSet

本文介绍了网络抓包探针在K8S中的使用,通过DaemonSet确保每个节点上都有探针运行。文章讨论了选择DaemonSet的原因,包括自动部署、资源管理以及污点和容忍功能。关键问题在于容器与宿主机内核模块的兼容性,通过特权模式解决。同时,启用hostNetwork以捕获宿主机而非pod的网络数据。
摘要由CSDN通过智能技术生成

1. 探针性质介绍

  • 探针类似于开源的网络嗅探器(类似项目github很多)
  • 探针为了防止丢包,需要安装许多内核模块才能使用,比如网络相关的模块pf_ring等
  • 探针需要运行在K8S集群的每一个节点,采集网卡相关数据

2. DaemonSet简单介绍

一个DaemonSet对象能确保其创建的Pod在集群中的每一台(或指定)Node上都运行一个副本。如果集群中动态加入了新的Node,DaemonSet中的Pod也会被添加在新加入Node上运行。删除一个DaemonSet也会级联删除所有其创建的Pod。

3. 为什么选择DaemonSet

  • DaemonSet解决了当K8S集群新增节点时,自动提供该节点监控的能力
  • 方便实施部署,利用K8S提供的能力管理探针
  • 方便对探针实施资源限制,避免探针占用太多节点资源导致节点运行业务应用受限
  • DaemonSet支持污点和容忍,可以快速剔除不需要监控的节点

4. 关键问题?

加载模块(驱动)整文件与宿主机不同

因为容器和宿主机的kernel source的文件不同,如果我们直接进行内核包安装,可能会导致内核模块安装失败或者不可用。所以我们需要将/var/modules目录进行挂载。这部分涉及到软连接,是安装内核包的前置部分。

通过容器安装内核模块

该探针与其他上云应用不同的是强依赖内核,也

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值