kubernetes》》k8s》》ConfigMap 、Secret

发布于:2025-04-15 ⋅ 阅读:(18) ⋅ 点赞:(0)

configmap官网
ConfigMap是一种 API 对象,使用时, Pods 可以将其用作环境变量、命令行参数或者存储卷中的配置文件。ConfigMap将配置和Pod解耦,更易于配置文件的更改和管理。ConfigMap 并不提供保密或者加密功能。 如果你想存储的数据是机密的,请使用Secret。

参考资料

ConfigMap的生命周期以及使用方式,

在这里插入图片描述
在这里插入图片描述

# configmap 配置文件
apiVersion: v1
kind: ConfigMap
metadata:
 name: k8s-config
data:
 key1: hello
 key2: k8s

》》volume挂载

# 在volumes配置中通过对configMap的name进行匹配,然后根据key字段取出对应的配置,并绑定到对印的path上。
volumes:
      - name: "test-log-config"             #创建volume的名称        
        configMap:          
          name: "test-conf"                 #引用configMap卷
          items:
            - key: "log4j2.xml"             #根据key获取configMap指定的配置
              path: "log4j2.xml"
      - name: "test-init-config"
        configMap:
          name: "test-conf"
          items:
            - key: "init-config.json"             #根据key获取configMap指定的配置
              path: "init-config.json"
      - name: "test-application"
        configMap:
          name: "test-conf"
          items:
            - key: "test-application-remote.properties"             #根据key获取configMap指定的配置
              path: "application-remote.properties"
 # 接下来就是使用volumeMounts属性对volume进行mount,当Pod实例化以后会将配置文件生成到具体路径供业务系统使用:
 volumeMounts:
          - name: "test-application"
            mountPath: "/home/test/app/config/application-remote.properties"
            subPath: "application-remote.properties"
          - name: "test-init-config"
            mountPath: "/home/test/app/config/init-config.json"
            subPath: "init-config.json"
          - name: "test-log-config"
            mountPath: "/home/test/app/config/log4j2.xml"
            subPath: "log4j2.xml"

网站公告

今日签到

点亮在社区的每一天
去签到