Kubernetes 是否可以使用空/空键创建configmap?如果是,豆荚的预期行为是什么?
想了解是否可以使用空白键或空键创建configmap。但该值不是空的。不,不可能。虽然YAML语法允许将空字符串指定为密钥,但Kubernetes验证将不接受它:Kubernetes 是否可以使用空/空键创建configmap?如果是,豆荚的预期行为是什么?,kubernetes,configmap,Kubernetes,Configmap,想了解是否可以使用空白键或空键创建configmap。但该值不是空的。不,不可能。虽然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 ConfigM
$ 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]+')
$
错误消息[-.\u a-zA-Z0-9]+
中打印的验证regexp清楚地表明密钥长度不能为零
Kubernetes也不接受使用null键:
$ 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"
$
$cat test-cm.yaml
版本:v1
数据:
键1:值1
键2:值2
?
:值3
种类:配置地图
元数据:
名称:测试cm
$kubectl应用-f测试-cm.yaml
错误:将YAML转换为JSON时出错:类型为%的映射键不受支持!s(),键:,值:“value3”
$