Tetragon[1] 是一种灵活的安全可观察性和运行时策略执行工具,可直接使用 eBPF 应用策略和过滤,从而减少了监控、进程跟踪以及实时执行策略的开销。
Tetragon 提供了如下功能:
最后一个侧重策略的执行,可以通过发送信号或覆盖系统调用的返回值对重要的安全事件做出反应;前三种侧重监控,并可以将监控数据与容器、Kubernetes 元数据进行关联。
图片
export INSTALL_K3S_VERSION=v1.27.1+k3s1curl -sfL https://get.k3s.io | sh -s - --disable traefik --disable local-storage --disable metrics-server --disable servicelb --write-kubeconfig-mode 644 --write-kubeconfig ~/.kube/config
示例应用使用我们在 使用 Cilium 增强 Kubernetes 网络安全 中有用过的”星球大战“的场景。
kubectl create -f https://raw.githubusercontent.com/cilium/cilium/v1.15.0-pre.1/examples/minikube/http-sw-app.yaml
使用 helm 来安装 Tetragon。
helm repo add cilium https://helm.cilium.iohelm repo updatehelm install tetragon cilium/tetragon -n kube-system
查看 Tetragon 的组件。
kubectl get pod -n kube-system -l app.kubernetes.io/instance=tetragonNAME READY STATUS RESTARTS AGEtetragon-operator-f68fdfcf6-jltn2 1/1 Running 0 6m23stetragon-mh8fp 2/2 Running 0 6m23s
其中 tetragon 是 Daemonset 类型,在每个节点上都会运行其示例。在后面的演示中,我们将使用其获取事件信息。
该命令会使用 pod 中的 tetra CLI 链接 Tetragon 的 daemon server 打印和过滤事件。
-o 支持 json 和 compact:前者打印详细信息,后者打印紧凑的信息 --pods 打印指定 pods 的事件,这里支持正则
kubectl exec -ti -n kube-system ds/tetragon -c tetragon -- tetra getevents -o compact --pods xwing
我们在 xwing 的 pod 中尝试 curl 发送请求。
kubectl exec -ti xwing -- bash -c 'curl -I https://ebpf.io/applications/#tetragon'
在 CLI 事件监控中可以看到监控到进行的执行。
本文链接:http://www.28at.com/showinfo-26-27590-0.html快速探索 Tetragon:基于 eBPF 的安全可观察性和执行工具
声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com