我使用 Microk8s kubectl。我尝试使用 sysdig 通过设置过滤器 k8s.pod.name=mypod (特别是通过 )来记录 pod(例如名为 mypod)内的事件$sysdig k8s.pod.name=mypod
。但 sysdig 不显示任何记录的事件。例如,当我尝试$cat /etc/passwd
访问 Pod 内的容器时,它不会显示任何系统调用。
ps 我可以在设置过滤器 container.name=mycontainer 时使用 sysdig 获取 docker 容器内(而不是 pod 中)的事件。
我将不胜感激任何可能的解释/解决方案。
答案1
您好,您需要连接到 k8s api 服务器,这是手册页中的描述:
-k, --k8s-api 通过连接到指定为参数的 API 服务器来启用 Kubernetes 支持。例如“http://管理员:[电子邮件受保护]:8080”。API服务器也可以通过环境变量SYSDIG_K8S_API指定。
一旦连接到 k8s api,过滤器就会起作用。