ConfigMap存在的意义
之前我们有说到Secret储存密文数据,现在说到ConfigMap储存数据
Secret有两种数据访问方式,ConfigMap也有两种数据访问方式,如出一辙
这两者的有什么区别呢?就运用场景而言
Secret一般用处储存密文数据
configMap用于储存明文数据,不如项目的配置文件啥的
创建配置文件
-
内容很简单,这里就自行准备一下吧:
kubectl create configmap redis-config --from-file=redis.properties
redis-config:为这个configMap取得标识name
查看相关信息
-
kubectl describe cm redis-conig
Pod以挂载Volume方式访问
定义Pod的资源编排文件
-
-
这个pod定义如下所示,想读取configMap中的数据需要配置数据卷的相关信息
-
部署yaml,测试效果
Pod以环境变量方式访问
定义ConfigMap文件
-
-
这儿的话,就和Secret的方式有点不太一样了,详情见下
-
首先我们要重新单独定义一个congfigMap
可以键入英文,但如果value是数字的话,需要用双引号括起来(踩坑)
-
然后我们部署这个yaml,并查看部署效果
定义Pod的资源编排文件
-
-
这个pod的定义如下所示
-
1:通过configMap的name定位到ConfigMap
2:通过指定key,定位到键值对,并将value 赋值给环境变量名 3
3:环境变量名
4:打印环境变量
部署yaml,测试效果
-
kubectl apply -f customconfigmappod.yaml
-
kubectl logs podName
可以看到环境变量中已经正确的读取了ConfigMap中的值