Kubernetes二进制文件的配置映射

5

我的 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" 已创建

但是,当我描述configmap时,我得到了null值:

$ kubectl describe configmaps key-config
Name:         key-config
Namespace:    prod-es
Labels:       <none>
Annotations:  <none>

Data
====
Events:  <none>

我知道我的Kubernetes版本支持将二进制数据作为configmaps或secrets,但我不确定我的方法有什么问题。非常感谢您对此的任何建议。
1个回答

7

kubectl describe目前不会显示ConfigMaps中的二进制数据(kubectl版本v1.10.4);此外,kubectl get configmap输出中的DATA列也不包含二进制元素:

$ kubectl get cm
NAME           DATA      AGE
key-config     0         1m

但是数据确实存在,只是目前用户界面体验不佳。您可以通过以下方式进行验证:

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接