【发布时间】:2026-01-19 07:15:01
【问题描述】:
我正在使用 kubernetes API 处理 kubernetes 节点标签。对于标签添加,它有效。但是对于标签删除,不知道什么是正确的方法。
这是添加标签的演示代码:
key := "testkey"
value := "testvalue"
patch := `{"metadata":{"labels":{"` + key + `":"` + value + `"}}}`
_, err := clientset.CoreV1().Nodes().Patch("10.x.x.x", types.StrategicMergePatchType, []byte(patch))
那么删除案例呢? 我在 Stack Overflow 中尝试了一些答案,例如:
patch := `{"metadata":{"labels":{"$patch":"delete","testkey":"testvalue"}}}
它将删除该节点上的所有标签,但不是唯一的“testkey”标签。
【问题讨论】:
-
尝试添加值 { "testkey": null }
-
null 实际上来自 JSON 规范。
标签: kubernetes