当 Secret 被删除时,kubernetes 是否会在事件日志或其他地方捕获?我没有在事件日志中看到它:
kubectl get events --field-selector involvedObject.kind=Secret --watch
并且我也没有在其中找到它/var/log/pods/kube_system-kube-apiserver/
。
我们正在使用称为 external-secrets-operator 的东西来管理机密,并且我们希望在删除机密时得到通知,因为 ESO 不应该发生这种情况,所以这是我们希望的边缘情况监视.
使用事件日志,
kubectl get events --field-selector involvedObject.kind=Secret --watch
您将获得现有的机密,而不是已删除的资源,对于已删除的资源,您需要使用审核日志,某些托管 kubernetes(如 GKE 和 AWS)会自动启用审核日志。EKS、AKS 或 GCP 等托管 Kubernetes 服务通过轻松将集群审核日志路由到集中式日志服务(如 AWS CloudWatch、GCP 日志浏览器)来提供支持。要找出谁删除了命名空间以及何时删除,它只提供给 IAM 用户,下面的查询用于获取何时以及谁删除了密钥。
如果您没有使用任何托管 kubernetes,请关注 Daniel Olaogun 撰写的这篇博客,其中详细介绍了如何使用审核日志。