使用BPF监视你的Kubernetes集群

栏目: 编程工具 · 发布时间: 5年前

内容简介:如果你已经使用Kubernetes已经有一段时间了,你就会知道你能做的最好的事情就是邀请成千上万的你最好的熟人在没有成人监督的情况下在你的集群上运行任意命令。在将来的某个时刻,您可能想知道您曾经知道的那些人仍然在您的群集上做什么。是不是在挖矿呢?BPF(Berkeley Packet Filter)是Linux内核中的一个虚拟机,它在收到其中一个事件时对事件进行分类并触发操作。它允许您在运行时将代码注入内核以处理这些事件; 不需要内核编译。BPF有两种风格。本文引用的是扩展版本eBPF,但我只称它为BPF

如果你已经使用Kubernetes已经有一段时间了,你就会知道你能做的最好的事情就是邀请成千上万的你最好的熟人在没有成人监督的情况下在你的集群上运行任意命令。在将来的某个时刻,您可能想知道您曾经知道的那些人仍然在您的群集上做什么。是不是在挖矿呢?

BPF(Berkeley Packet Filter)是 Linux 内核中的一个虚拟机,它在收到其中一个事件时对事件进行分类并触发操作。它允许您在运行时将代码注入内核以处理这些事件; 不需要内核编译。BPF有两种风格。本文引用的是扩展版本eBPF,但我只称它为BPF。

另一个更有趣的选择是使用 Kubectl Trace 来检查容器中正在运行的内容。Kubectl的这个扩展计划一次性作业在容器内运行BPF程序。因此,您可以使用一行命令列出在任何容器中运行的所有进程:

kubectl trace run container -e \ <font>"tracepoint:syscalls:sys_enter_execve { @[comm] = count() }"</font><font>
</font>

此命令将等待容器执行新进程,并将按其命令名称(comm)对正在运行的许多进程进行分组。问题是当你想知道那里发生了什么时,你需要执行这个命令; 它不允许您监视群集使用情况,而无需一直查看它。

我最喜欢的选择是将 BPF的Execsnoop 部署到每个pod中的 sidecar容器 ,并让它实时登录pod中运行的所有进程。Kubernetes 1.13有一个名为的配置标志shareProcessNamespace,允许您将在pod中生成的所有进程放入同一名称空间,这样您就可以从边车监视pod中的所有容器。这是您的pod定义的开始:

apiVersion: v1
kind: Pod
metadata:
  name: happy-borg
spec:
  shareProcessNamespace: <b>true</b>
  containers:
  - name: execsnoop
    image: calavera/execsnoop
    securityContext:
    - privileged: <b>true</b>
    volumeMounts:
    - name: sys # mount the debug filesystem
      mountPath: /sys
      readOnly: <b>true</b>
    - name: headers # mount the kernel headers required by bcc
      mountPath: /usr/src
      readOnly: <b>true</b>
    - name: modules # mount the kernel modules required by bcc
      mountPath: /lib/modules
      readOnly: <b>true</b>
  - name: container doing random work
  ...

BPF为Kubernetes打开了更好的可观察性的大门。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

年入10万,17岁草根少年的网赚实战

年入10万,17岁草根少年的网赚实战

陶秋丰 / 重庆出版集团 / 2009-3 / 28.00元

《年入10万:17岁草根少年的网赚实战》以一个17岁的在校大学生的真实故事为大家讲述草根少年的网络赚钱之旅。随着网络的普及以及网上应用的日益增多,要在网络上谋生并不难,比如网上写稿、网上兼职、威客赚钱、网上开店等,然而要利用互联网赚大钱,并成就一番事业,那么创建并运营一个独立的网站就是一个绝佳的选择。本书的作者正是经历了“网上写稿一网上各类兼职一策划并创建网站一网站推广与运营一年入10万”这一过程......一起来看看 《年入10万,17岁草根少年的网赚实战》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

随机密码生成器
随机密码生成器

多种字符组合密码

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具