使用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打开了更好的可观察性的大门。


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

查看所有标签

猜你喜欢:

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

数据挖掘中的新方法:支持向量机

数据挖掘中的新方法:支持向量机

邓乃扬、田英杰 / 科学出版社 / 2004-6-10 / 53.00元

支持向量机是数据挖掘中的一个新方法。支持向量机能非常成功地处理回归问题(时间序列分析)和模式识别(分类问题、判别分析)等诸多问题,并可推广于预测和综合评价等领域,因此可应用于理科、工科和管理等多种学科。目前国际上支持向量机在理论研究和实际应用两方面都正处于飞速发展阶段。希望本书能促进它在我国的普及与提高。 本书对象既包括关心理论的研究工作者,也包括关心应用的实际工作者。对于有关领域的具有高等......一起来看看 《数据挖掘中的新方法:支持向量机》 这本书的介绍吧!

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

在线压缩/解压 CSS 代码

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

html转js在线工具
html转js在线工具

html转js在线工具