怎么用Kubernetes的configmap通过环境变量注入到pod里
这篇文章主要讲解了“怎么用Kubernetes的configmap通过环境变量注入到pod里”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用Kubernetes的configmap通过环境变量注入到pod里”吧!
为青县等地区用户提供了全套网页设计制作服务,及青县网站建设行业解决方案。主营业务为成都网站设计、成都网站建设、青县网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
在Kubernetes官网里,有这样一篇文章,提到了Kubernetes里的一个最佳实践就是把应用代码同配置信息分开,一种方式就是使用Kubernetes 1.2里引入的configmap概念。
https://kubernetes.io/blog/2016/04/configuration-management-with-containers/
configmap实际上就是一系列键值对,存储于etcd里。etcd的官网有这样一句话:
etcd is a distributed key-value store designed to reliably and quickly preserve and provide access to critical data.
https://github.com/etcd-io/etcd/blob/master/Documentation/docs.md
etcd是一个高性能的分布式键值对存储库,用于存储和访问关键数据。
使用下面的命令行创建一个Kubernetes config map:
kubectl create configmap test-config --from-literal=test.type=unit --from-literal=test.exec=always
创建一个名为test-config的键值对,key为test.type,值为unit,key为test.exec, 值为always。
下面我打算创建一个pod,消费这个名为test-config的configmap。
创建一个内容如下的yaml文件:
apiVersion: v1kind: Podmetadata:name: test-configmapspec:containers:- name: test-containerimage: alpine:3.8command: [ "/bin/sh", "-c", "env" ]env:- name: TEST_TYPEvalueFrom:configMapKeyRef:name: test-configkey: test.type- name: TEST_EXECvalueFrom:configMapKeyRef:name: test-configkey: test.execrestartPolicy: Never
这个yaml文件定义的pod基于docker镜像alpine,执行shell命令/bin/sh -c env查看环境变量。
在env区域,我给该pod注入一个名为TEST_TYPE的环境变量,值从configMap键值对的键名称为test.type的值中取。
kubectl create -f 创建这个pod:
使用命令kubectl logs test-configmap查看这个pod运行生成的日志,发现输出的环境变量列表中,出现了TEST_TYPE=unit,这个TEST_TYPE是我在yaml文件里注入的环境变量名称,而unit就来自configmap里test-config的值unit。
感谢各位的阅读,以上就是“怎么用Kubernetes的configmap通过环境变量注入到pod里”的内容了,经过本文的学习后,相信大家对怎么用Kubernetes的configmap通过环境变量注入到pod里这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!
标题名称:怎么用Kubernetes的configmap通过环境变量注入到pod里
标题URL:http://scjbc.cn/article/jgodhg.html