以下内容均来自个人笔记并重新梳理,如有错误欢迎指正!如果对您有帮助,烦请点赞、关注、转发!欢迎扫码关注个人公众号!
目录
一、基本介绍
在 Kubernetes 中,ConfigMap 是一种用于存储非敏感信息的资源对象,提供了向 Pod 注入配置信息的能力。
ConfigMap 通过将配置与容器镜像解耦,使用一系列键值对(key-value pairs)为应用程序提供配置信息,使得应用程序的配置更加灵活,并增强了可移植。
ConfigMap 详细介绍:ConfigMaps | Kubernetes
二、主要特性
- 环境变量:ConfigMap 可以被设置为 Pod 的环境变量
- 命令行参数:ConfigMap 可以被注入到 Pod 的启动命令行参数中
- 数据卷:ConfigMap 可以被挂载为一个数据卷,使得 Pod 内的容器可以访问配置文件
- 多个 ConfigMap:Pod 可以挂载多个 ConfigMap,这允许将不同方面的配置信息分开存储
- 命名空间:ConfigMap 是命名空间级别的资源,其作用域被限制在特定的命名空间内
- 对象管理:可以通过 Kubernetes API 来创建、更新和删除 ConfigMap
三、资源清单(示例)
1、示例一
# configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: demo-configmap
data:
RUN_ENV: prod
RUN_MODE: allinone
上述 configmap.yaml 文件定义了一个名为 demo-configmap 的 ConfigMap 对象,data 下定义了两组键值对作为环境变量。
2、示例二
# configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: demo-configmap
data:
conf_A: |
host: hostA
name: nameA
conf_B: |
host: hostB
name: nameB
上述 configmap.yaml 文件定义了一个名为 demo-configmap 的 ConfigMap 对象,data 下定义了两组键值对,分别是名为 conf_A 和 conf_B 的文件及其内容。
说明:可以通过以下命令查看 ConfigMap 资源清单支持定义的内容
kubectl explain configmap --recursive
四、常用操作
1、创建 ConfigMap
# 方式一:使用目录或文件
kubectl create configmap demo-configmap --from-file=<目录名称或文件名称>
标签:ConfigMap,Kubernetes,kubectl,--,demo,configmap,yaml,K8s
From: https://blog.csdn.net/2401_82795112/article/details/139532851