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内