configmap原理和实践
原理:kubernetes通过ConfigMap来实现对容器中应用的配置管理,ConfigMap API资源保存配置数据的键值对,可以在pods中使用或者可以用于存储系统组件的配置数据。简单的说也就是,configmap是kubernetes的一种资源,ConfigMap可用于存储细粒度信息如单个属性,或粗粒度信息如整个配置文件或JSON对象。在容器中ConfigMap可用于填充各个环境变量或者整个使用。使用ConfigMap 挂载的 Env 不会同步更新,使用ConfigMap 挂载的 Volume 中的数据需要一段时间才能同步更新。
创建configmap
(1)命令行创建
kubectl create configmap test-config --from-file=/configs
直接将一个目录下的所有配置文件创建为一个ConfigMap
kubectl create configmap test-config2 --from-file=./configs/db.conf --from-file=./configs/cache.conf
直接将一个配置文件创建为一个ConfigMap
kubectl create configmap test-config3 --from-literal=db.host=10.5.10.116 --from-literal=db.port=‘3306’
在使用kubectl创建的时候,通过在命令行直接传递键值对创建
(2)yaml 文件创建
apiVersion: v1
kind: ConfigMap
metadata:
name: test
namespace: default
data:
special