configMap 概述

  • 文档: https://kubernetes.io/zh-cn/docs/concepts/configuration/configmap/

  • Kubernetes 为我们提供了 ConfigMap,可以方便的配置一些变量

  • 是一个存储键值对 key-value 对象的

  • 创建一个可以包含多个键值对的 ConfigMap, 以下是:mul-cm.yaml

    apiVersion: v1
    kind: ConfigMap
    metadata:
     name: my-db-config
    data:
      db-url: localhost
    ---
    apiVersion: v1
    kind: Pod
    metadata:
      name: cm-app
      labels:
        name: cm-app
    spec:
      containers:
      - name: cm-app
        image: busybox
        command: [ "sh", "-c", "env && sleep 60" ]
        resources:
          limits:
            memory: "64Mi"
            cpu: "500m"
        envFrom:
        - configMapRef:
            name: my-db-config
    
    • 这里只在 data 中配置一个 db-url 如果需要多个,自行配置
  • $ kc apply -f mul-cm.yaml 创建

    configmap/my-db-config created
    pod/cm-app created
    
  • $ kc get configmap 查看 configmap

    NAME               DATA   AGE
    my-db-config       1      12s
    
  • $ kc get pod | grep cm

    cm-app           1/1     Running            0                 18s
    
  • $ kc logs cm-app | grep db

    db-url=localhost
    
  • 这里可以看到,配置的字段写入了环境变量

  • 这样应用程序就可以读取环境变量了,实现了应用的解耦

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐