Kubernetes Kubectl修补程序$deleteFromPrimitiveList指令

Kubernetes Kubectl修补程序$deleteFromPrimitiveList指令,kubernetes,patch,kubectl,Kubernetes,Patch,Kubectl,我正在寻找一种方法,通过补丁从pod上的列表中删除特定值,特别是在SecurityContext.Capabilities属性上。起初,我遇到了json补丁remove限制,它需要一个索引,但在进一步挖掘之后,我发现了策略补丁类型中使用的$deleteFromPrimitiveList指令。事实上,这个指令并没有在官方文档中的任何地方被记录下来,在论坛和源代码中只有几处点击。这就是我最终得到的对我有用的东西: patch.yaml: spec: template: spec:

我正在寻找一种方法,通过补丁从pod上的列表中删除特定值,特别是在SecurityContext.Capabilities属性上。起初,我遇到了json补丁remove限制,它需要一个索引,但在进一步挖掘之后,我发现了策略补丁类型中使用的$deleteFromPrimitiveList指令。事实上,这个指令并没有在官方文档中的任何地方被记录下来,在论坛和源代码中只有几处点击。这就是我最终得到的对我有用的东西:

patch.yaml:

spec:
  template:
    spec:
      containers:
      - name: test
        securityContext:
          capabilities:
            $deleteFromPrimitiveList/add: ["SYS_RAWIO"]
补丁命令:

kubectl patch deployment test --patch="$(cat patch.json)"
我的问题是,我应该用这个吗,这是官方支持的吗?如果是,是否需要最低群集版本? 有没有一个原因它没有记录在任何地方?
谢谢

它似乎得到了官方的支持,但没有很好的文档记录

我能找到的最好的文档包括了这个和其他战略性合并补丁指令

本文档特别指出了向后兼容性:

对战略合并修补程序的更改必须向后兼容,以便在以前版本中有效的修补程序请求继续有效。也就是说,旧客户端发送到新服务器的旧补丁格式必须继续正常工作