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.www897cc.com/showinfo-26-27590-0.html快速探索 Tetragon:基于 eBPF 的安全可觀察性和執行工具
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com