删除包含无效字符的命名空间标签

Delete a namespace label that has invalid characters

我的命名空间有一个我想删除的标签“some-param=some-value”。

kubectl label namespace/myNamespace some-param=some-value-

error: invalid label value: "some-param=some-value": a valid label must be an empty string or consist of alphanumeric characters, '-', '_' or '.', and must start and end with an alphanumeric character (e.g. 'MyValue',  or 'my_value',  or '12345', regex used for validation is '(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])?')

无效字符是“=”,但我能够添加此标签。我只是无法删除它。

kubectl version

Client Version: version.Info{Major:"1", Minor:"20", GitVersion:"v1.20.2", GitCommit:"faecb196815e248d3ecfb03c680a4507229c2a56", GitTreeState:"clean", BuildDate:"2021-01-13T13:28:09Z", GoVersion:"go1.15.5", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"18+", GitVersion:"v1.18.16-gke.2100", GitCommit:"36d0b0a39224fef7a40df3d2bc61dfd96c8c7f6a", GitTreeState:"clean", BuildDate:"2021-03-16T09:15:29Z", GoVersion:"go1.13.15b4", Compiler:"gc", Platform:"linux/amd64"}

删除标签的正确命令是:

kubectl label namespace <namespace_name> <label>-

所以在你的用例中它应该是:

kubectl label namespace myNamespace some-param-

您不应该使用完整的 key/value 对和中间的 = 符号,例如 some-param=some-value

如果您想查看更多 kubectl label 个选项,而不是 these docs