Kubernetes - 6.1 Config and Storage - ConfigMap-阿里云开发者社区

开发者社区> 开发与运维> 正文
登录阅读全文

Kubernetes - 6.1 Config and Storage - ConfigMap

简介:

什么是ConfigMap

ConfigMap为Pod中的容器提供了配置文件、环境变量等非敏感信息,通过ConfigMap可以将Pod和其他组件分开,这将使得Pod更加有移植性,使得配置更加容器更改及管理,也使得Pod更加规范。

Config基本操作

通过kubectl create configmap
kubectl create configmap nginx-configmap --from-literal=password=123456
image

通过yaml资源配置清单
kubectl apply -f nginx-configmap.yaml

apiVersion: v1
kind: List
metadata:
items:
- apiVersion: v1
  data:
    password: "123456"
  kind: ConfigMap
  metadata:
    name: nginx-configmap

通过kubectl get configmap查看详细信息
image

通过kubectl describe configmap查看详细信息
image

ConfigMap作为存储卷被Pod调用

创建ConfigMap
kubectl create configmap database-config --from-literal=user=root --from-literal=password=123456
image

通过YAML资源定义清单创建Pod并绑定ConfigMap为存储卷
kubectl apply -f nginx-pod-configmap-volume.yaml

apiVersion: v1
kind: Pod
metadata:
  name: nginx-pod
spec:
  containers:
    - name: nginx
      image: nginx:1.16
      volumeMounts:
      - name: config-volume
        mountPath: /etc/config
  volumes:
    - name: config-volume
      configMap:
        name: database-config 

查看Pod容器挂载的ConfigMap存储卷
kubectl exec -it nginx-pod /bin/bash
image

查看Pod详细信息,挂载了ConfigMap类型的Volumes
kubectl describe pod nginx-pod
image

ConfigMap作为环境变量被Pod调用

kubectl create configmap database-config --from-literal=user=root --from-literal=password=123456
kubectl create configmap env-config --from-literal=LOG_LEVEL=ERROR
image

kubectl apply -f nginx-pod-configmap-env.yaml

apiVersion: v1
kind: Pod
metadata:
  name: nginx-pod
spec:
  containers:
    - name: nginx
      image: nginx:1.16
      env:
        - name: DB_USER_CONFIG
          valueFrom:
            configMapKeyRef:
              name: database-config
              key: user
        - name: DB_PASSWORD_CONFIG
          valueFrom:
            configMapKeyRef:
              name: database-config
              key: password
      envFrom:
        - configMapRef:
            name: env-config

查看Pod容器的环境变量
kubectl exec -it nginx-pod /bin/bash
image

查看Pod容器详细信息
kubectl describe pod nginx-pod
image

Config注意的事项

  1. ConfigMap文件大小限制: 1MB (etcd的限制)
  2. ConfigMap必须在Pod引用它之前创建

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享: