You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

K8s OPA Gatekeeper未拦截DELETE操作问题求助

问题原因与解决方案

核心原因

你的K8sDenyAll Constraint未指定需要匹配的操作类型,Gatekeeper默认仅对CREATE和UPDATE类型的Admission请求应用策略,DELETE请求不在默认匹配范围内,因此删除Namespace、Pod等资源的操作不会被拦截。

修复方案

修改Constraint的spec.match字段,添加operations列表,明确包含CREATE、UPDATE、DELETE三种操作类型:

apiVersion: constraints.gatekeeper.sh/v1beta1
kind: K8sDenyAll
metadata:
  name: deny-all-namespaces
spec:
  match:
    kinds:
      - apiGroups: [""]
        kinds: ["Namespace"]
    # 添加以下操作匹配规则
    operations: ["CREATE", "UPDATE", "DELETE"]

验证方法

  1. 应用修改后的Constraint:
kubectl apply -f <your-constraint-file.yaml>
  1. 尝试删除Namespace:
kubectl delete ns test2

此时删除操作会被Gatekeeper拦截,符合预期。

对于Pod等其他资源的同名Constraint,只需同样添加operations字段即可实现全操作拦截。

内容的提问来源于stack exchange,提问作者Phil Chae

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 12:05:15