> 技术文档 > k8s中的configmap存储

k8s中的configmap存储


configmap的功能

configMap用于保存配置数据,以键值对形式存储。

configMap 资源提供了向 Pod 注入配置数据的方法。

镜像和配置文件解耦,以便实现镜像的可移植性和可复用性。

etcd限制了文件大小不能超过1M

configmap的使用场景

填充环境变量的值

设置容器内的命令行参数

填充卷的配置文件

configmap创建方式

字面值创建

通过--from-literal指定键值对

kubectl create configmap userlist --from-literal name=huazi --from-literal age=22

kubectl create cm lee-config --from-literal  fname=timing --from-literal lname=lee

通过文件创建

通过--from-file指定文件名

kubectl create configmap host --from-file /etc/hosts

我们可以发现通过文件创建的configmap资源文件名文件内容

通过目录创建

通过--from-file指定目录

创建一个目录,把fstab和hosts文件穿进去 然后创建这个cm 就能看到

我们发现通过目录创建文件创建升级版目录中可以存放多个文件文件名文件内容
 

通过yaml文件创建

kubectl create configmap dict --from-literal db_host=\"172.25.254.100\" --from-literal db_port=\"3306\" -o yaml > db.yml

然后应用文件

configmap的使用方式

通过环境变量的方式直接传递给pod

通过pod的 命令行运行方式

作为volume的方式挂载到pod内