验证Kubernetes YAML的六个工具比较 - learn8s


本文比较了六个静态工具,以验证Kubernetes YAML文件并对其进行评分,以获得最佳实践和合规性。
Kubernetes工作负载最通常定义为YAML格式的文档。
YAML的挑战之一是表达清单文件之间的约束或关系相当困难。
集成静态检查可以在更接近开发生命周期的时间内捕获错误和违反策略的行为。
而且,由于围绕资源定义的有效性和安全性的保证得到了改善,因此您可以相信生产工作负载遵循最佳实践。
Kubernetes YAML文件的静态检查生态系统可以分为以下类别:

  • API验证程序 -此类别中的工具针对Kubernetes API服务器验证给定的YAML清单。
  • 内置检查器 -此类别的工具捆绑了针对安全性,最佳实践等的自觉检查。
  • 自定义验证器 -此类别中的工具允许使用多种语言(例如Rego和Javascript)编写自定义检查。

在本文中,您将学习和比较六个不同的工具:

详细比较见原文,结果:
如果您要考虑通过管道的Kubernetes清单,那么kubeval可能是该管道中的第一步,因为它可以验证对象定义是否符合Kubernetes API模式。
一旦检查成功,也许您可​​以继续进行更详尽的测试,例如标准最佳实践和自定义策略。
在这里,Kube-score和Polaris都是不错的选择。
如果您有复杂的要求,并希望自定义检查细节,则应考虑使用copper,config-lint和conftest。