目标

应用程序部署的最佳实践就是配置信息和程序进行分离。这样可以使应用程序被复用,通过不同的配置也可以实现更灵活的功能。

创建

ConfigMap的用处:
1. 生成为容器内的环境变量
2. 设置容器启动的命令参数
3. volume形式挂载成容器内的文件或目录

1.通过yml文件创建一个configmap:

这里写图片描述

2. 通过命令行创建

kubectl create configmap my-config --from-literal=key1=config1 --from-literal=key2=config2

这里写图片描述

  kubectl create configmap test-cm --from-file=conf.d

这里写图片描述

使用

apiVersion: v1
kind: Pod
metadata:
  name: busybox-cm-pod
  labels:
    app: busybox--cm-pod
spec:
  containers:
  - name: busybox-container
    image: busybox
    command:
      - sleep
      - "360000"
    # 注入环境变量
    env:
    - name: APPLOGLEVEL
      valueFrom:
        configMapKeyRef:
          name: appvars-cm
          key: apploglevel

    volumeMounts:
    - name: nginx-conf
      mountPath: /conf

  # 挂载到文件数据卷
  volumes:
  - name: nginx-conf
    configMap:
      name: appvars-cm
      items:
      - key: nginx-conf
        path: nginx.conf
Logo

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

更多推荐