k8s查看configmap(k8s查看config)

k8s查看configmap(k8s查看config)ConfigMap 是 k8s 的一个配置管理组件 可以将配置以 key value 的形式传递 通常用来保存不需要加密的配置信息 加密信息则需用到 Secret 主要用来应对以下场景 使用 k8s 部署应用 当你将应用配置写进代码中 就会存在一个问题 更新配置时也需要打包镜像 ConfigMap 可以将配置信息和 docker 镜像解耦 使用微服务架构的话 存在多个服务共用配置的情况

大家好,我是讯享网,很高兴认识大家。



ConfigMap是k8s的一个配置管理组件,可以将配置以key-value的形式传递,通常用来保存不需要加密的配置信息,加密信息则需用到Secret,主要用来应对以下场景:

  • 使用k8s部署应用,当你将应用配置写进代码中,就会存在一个问题,更新配置时也需要打包镜像,ConfigMap可以将配置信息和docker镜像解耦
  • 使用微服务架构的话,存在多个服务共用配置的情况,如果每个服务中单独一份配置的话,那么更新配置就很麻烦,使用ConfigMap可以友好的进行配置共享

可以使用 kubectl create configmap 从文件、目录或者 key-value 字符串创建等创建 ConfigMap。

 

讯享网


讯享网

讯享网

看到该configmap中有两个键值对,key1:hello 和 key2:world

 

讯享网

执行

 

Pod可以通过三种方式来使用ConfigMap,分别为:

  • 将ConfigMap中的数据设置为环境变量
  • 将ConfigMap中的数据设置为命令行参数
  • 使用Volume将ConfigMap作为文件或目录挂载

【注意】

  • ConfigMap必须在Pod使用它之前创建
  • 使用envFrom时,将会自动忽略无效的键
  • Pod只能使用同一个命名空间的ConfigMap

首先创建两个ConfigMap,分别名为special-config和env-config:

讯享网
 

执行

讯享网

当pod运行结束后,环境变量中会多输出如下:

 

将ConfigMap用作命令行参数时,需要先把ConfigMap的数据保存在环境变量中,然后通过$(VAR_NAME)的方式引用环境变量。

讯享网

执行

 

另开窗口执行,容器没起来,执行下面命令会报错

讯享网

当pod运行结束后,它的输出如下:

very charm

【示例1】将创建的ConfigMap直接挂载至Pod的/etc/config目录下,其中每一个key-value键值对都会生成一个文件,key为文件名,value为内容

 

执行

讯享网

当Pod结束后会输出:

 

【示例2】将创建的ConfigMap中special.how这个key挂载到/etc/config目录下的一个相对路径/keys/special.level。如果存在同名文件,直接覆盖

讯享网

执行

 

当Pod结束后会输出:

讯享网

【示例3】在一般情况下 configmap 挂载文件时,会先覆盖掉挂载目录,然后再将 congfigmap 中的内容作为文件挂载进行。如果想不对原来的文件夹下的文件造成覆盖,只是将 configmap 中的每个 key,按照文件的方式挂载到目录下,可以使用 subpath 参数

 

执行

讯享网

当Pod正在运行中进入pod中查看

 

非交互式查看

讯享网

小讯
上一篇 2025-05-03 17:45
下一篇 2025-06-15 23:21

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/150693.html