Kubernetes Kubectl修补程序$deleteFromPrimitiveList指令
我正在寻找一种方法,通过补丁从pod上的列表中删除特定值,特别是在SecurityContext.Capabilities属性上。起初,我遇到了json补丁remove限制,它需要一个索引,但在进一步挖掘之后,我发现了策略补丁类型中使用的$deleteFromPrimitiveList指令。事实上,这个指令并没有在官方文档中的任何地方被记录下来,在论坛和源代码中只有几处点击。这就是我最终得到的对我有用的东西: patch.yaml:Kubernetes Kubectl修补程序$deleteFromPrimitiveList指令,kubernetes,patch,kubectl,Kubernetes,Patch,Kubectl,我正在寻找一种方法,通过补丁从pod上的列表中删除特定值,特别是在SecurityContext.Capabilities属性上。起初,我遇到了json补丁remove限制,它需要一个索引,但在进一步挖掘之后,我发现了策略补丁类型中使用的$deleteFromPrimitiveList指令。事实上,这个指令并没有在官方文档中的任何地方被记录下来,在论坛和源代码中只有几处点击。这就是我最终得到的对我有用的东西: patch.yaml: spec: template: spec:
spec:
template:
spec:
containers:
- name: test
securityContext:
capabilities:
$deleteFromPrimitiveList/add: ["SYS_RAWIO"]
补丁命令:
kubectl patch deployment test --patch="$(cat patch.json)"
我的问题是,我应该用这个吗,这是官方支持的吗?如果是,是否需要最低群集版本?
有没有一个原因它没有记录在任何地方?
谢谢它似乎得到了官方的支持,但没有很好的文档记录 我能找到的最好的文档包括了这个和其他战略性合并补丁指令 本文档特别指出了向后兼容性: 对战略合并修补程序的更改必须向后兼容,以便在以前版本中有效的修补程序请求继续有效。也就是说,旧客户端发送到新服务器的旧补丁格式必须继续正常工作