Las*_*lko 3

不,这是不可能的。虽然 YAML 语法允许将空字符串指定为键,但 Kubernetes 验证不会接受它:

$ cat test-cm.yaml
apiVersion: v1
data:
  key1: value1
  key2: value2
  "": value3
kind: ConfigMap
metadata:
  name: test-cm
$ kubectl apply -f test-cm.yaml
The ConfigMap "test-cm" is invalid: data[]: Invalid value: "": a valid config key must consist of alphanumeric characters, '-', '_' or '.' (e.g. 'key.name',  or 'KEY_NAME',  or 'key-name', regex used for validation is '[-._a-zA-Z0-9]+')
$
Run Code Online (Sandbox Code Playgroud)

错误消息中打印的验证正则表达式[-._a-zA-Z0-9]+清楚地表明密钥长度可能不为零。

使用 null key 对于 Kubernetes 来说也是不可接受的:

$ cat test-cm.yaml 
apiVersion: v1
data:
  key1: value1
  key2: value2
  ?
  : value3
kind: ConfigMap
metadata:
  name: test-cm
$ kubectl apply -f test-cm.yaml 
error: error converting YAML to JSON: Unsupported map key of type: %!s(<nil>), key: <nil>, value: "value3"
$
Run Code Online (Sandbox Code Playgroud)