使用自定义规则对K8s配置文件(YAML)进行动态验证

时间:2018-08-13 21:31:02

标签: validation kubernetes yaml

我正在寻找一个基于自定义规则验证Kubernetes部署或服务yaml文件的静态验证器。例如,我可以有一条规则来禁止yaml文件中的某些字段(尽管它们是K8s中的有效字段),或指定字段值的范围。验证的触发独立于kubectl。

我找到的最接近的解决方案是这个kube-lint:https://github.com/viglesiasce/kube-lint。但是,由于上一次提交是2017年3月,因此似乎不受支持。

有人可以让我知道是否还有其他基于自定义规则对K8s yaml文件进行动态验证的东西吗?

1 个答案:

答案 0 :(得分:1)

我相信您要寻找的是Admission Controller,它有两种“验证”和“变异”的固有形式。但是,正如文档所述,如果功能不足以满足您的需求,那么还有Dynamic Admission Controller

请务必注意Pod Security Policies过期(超过beta)的时间(或者,我想甚至现在尝试一下)

我从未用过它们来了解用户体验是什么样的(例如:kubectl是否提供了友好的消息,或者只是“ 401:不”之类的东西?),但是对于“禁止使用某些字段”部分,我非常有信心他们会按照您的意愿做。

相关问题