1.popeye
Popeye: Kubernetes Live Cluster Linter
Popeye 是一个工具,用于扫描运行中的 Kubernetes 集群,并报告已部署资源和配置的潜在问题。随着 Kubernetes 环境的增长,人工追踪调度集群的大量清单和策略变得越来越具有挑战性。Popeye 根据已部署的内容来扫描你的集群,而不是根据磁盘上的内容。通过对集群进行分析,它能够检测配置错误、过时资源,并帮助你确保最佳实践的落实,从而防止未来的问题。它旨在减少在实际操作Kubernetes 集群时所面临的认知负担。此外,如果你的集群使用了 metric-server,它会报告资源过度/不足配置的潜在问题,并在集群容量不足时向你发出警告。
2.trivy-operator
Trivy Operator 利用 Trivy 持续扫描你的 Kubernetes 集群中的安全问题。这些扫描结果以安全报告的形式概括为 Kubernetes 自定义资源定义,可以通过 Kubernetes API 访问。Operator 通过监视 Kubernetes 的状态变化并自动触发相应的安全扫描来实现这一点。例如,当创建一个新的 Pod 时,会启动漏洞扫描。通过这种方式,用户可以以 Kubernetes 原生的方式查找和查看与不同资源相关的风险。
3.KubeLinter
KubeLinter 分析 Kubernetes YAML 文件和 Helm charts,并根据多种最佳实践进行检查,重点关注生产准备和安全性。KubeLinter 执行合理的默认检查,旨在为你提供有关 Kubernetes YAML 文件和 Helm charts 的有用信息。这样可以帮助团队更早、更频繁地检查安全配置错误和 DevOps 最佳实践。一些常见的检查示例包括以非 root 用户运行容器、实施最小特权原则以及仅在 secrets 中存储敏感信息。KubeLinter 是可配置的,因此你可以根据组织内希望遵循的策略启用和禁用检查,甚至创建自己的自定义检查。当 lint 检查失败时,KubeLinter 会报告关于如何解决潜在问题的建议,并返回非零退出代码。