我的kubernetes版本是1.10.4。
我正在尝试为Java密钥库文件创建ConfigMap:
kubectl create configmap key-config --from-file=server-keystore=/home/ubuntu/ssl/server.keystore.jks --from-file=server-truststore=/home/ubuntu/ssl/server.truststore.jks --from-file=client--truststore=/home/ubuntu/ssl/client.truststore.jks --append-hash=false
上面写着configmap "key-config" created
。
但是当我描述configmap时,我得到的是空值:
$ kubectl describe configmaps key-config
Name: key-config
Namespace: prod-es
Labels: <none>
Annotations: <none>
Data
====
Events: <none>
我知道我的kubernetes版本支持二进制数据作为configmap或密钥,但是我不确定我的方法有什么问题。
对此表示感谢。
答案 0 :(得分:2)
kubectl describe
目前不在ConfigMap中显示二进制数据(kubectl版本v1.10.4);而且DATA
输出的kubectl get configmap
列中不包含二进制元素:
$ kubectl get cm
NAME DATA AGE
key-config 0 1m
但是数据在那里,目前只是糟糕的UI体验。您可以使用以下方法进行验证:
kubectl get cm key-config -o json
或者您可以使用此友好命令来检查ConfigMap是否可以挂载,并且投影内容与原始文件匹配:
kubectl run cm-test --image=busybox --rm --attach --restart=Never --overrides='{"spec":{"volumes":[{"name":"cm", "configMap":{"name":"key-config"}}], "containers":[{"name":"cm-test", "image":"busybox", "command":["sh","-c","md5sum /cm/*"], "volumeMounts":[{"name":"cm", "mountPath":"/cm"}]}]}}'