二进制文件的kubernetes配置映射

时间:2018-06-20 15:14:05

标签: kubernetes

我的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或密钥,但是我不确定我的方法有什么问题。

对此表示感谢。

1 个答案:

答案 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"}]}]}}'