使用BPF监视你的Kubernetes集群

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

内容简介:如果你已经使用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打开了更好的可观察性的大门。


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

查看所有标签

猜你喜欢:

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

让大象飞

让大象飞

[美] 史蒂文·霍夫曼 / 周海云、陈耿宣 / 中信出版社 / 2017-3 / 69.00

这是一本为中国创业者量身定做的创业指南,将帮助创业者理解创新的基本方法、模式和硅谷的创业理念。作者霍夫曼频繁地穿梭于中美两地,与不同的创业者、投资人、政府负责人进行对话,积累了大量的来自中国创业者的第一手经验。在这本书里,从创业团队的人员配备到创业融资的成败再到团队的高效管理,从创业者的心理素质到创业者的独到眼光再到企业赖以生存的根本,360度无死角地呈现了一家公司从初创到惊艳到立足再到稳定的全过......一起来看看 《让大象飞》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

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

多种字符组合密码