我正在制定一项政策,该政策规定kaniko
图像必须始终在 nodePool 上运行kaniko-nodepool
。
如果将 kaniko 图像部署在其他任何地方,则将违反。我使用容器图像和 nodeSelector 的组合来执行策略
我的政策运作良好https://play.openpolicyagent.org/p/GOJNyAF5TW。
更改input.review.object.spec.nodeSelector.pool
导致违规
剩下的唯一问题是,如果 pod 没有 nodeSelector 并且正在部署的图像是 kaniko,那么也会发生违规。
所以我加了
not input.review.object.spec.nodeSelector
意思是如果没有nodeSelector,那么违规应该是正确的。一旦我删除了整个 nodeSelector 部分,它就不会导致违规。
https://play.openpolicyagent.org/p/AuhepivPHN
单击覆盖显示没有任何行正在处理。
我在这里缺少什么吗?