1 创建configMap的四种方式
1.1 通过直接在命令行中指定configmap参数创建
即--from-literal=key=value
下面测试基于kubernetes 1.23.3版本测试
1 | # 创建configMap |
pod应用
1 | apiVersion: v1 |
1 | # 创建configmap |
警告
当以环境变量的方式注入pod时, 只在pod启动时加载, 后续更改configmap不会同步到pod内
1.2 通过指定文件或目录创建
即通过--from-file=File_Path参数将一个配置文件或目录下所有文件创建为一个ConfigMap,
说明
--from-file=File_Path 这里的File_Path可以是文件也可以是目录。
文件:适用于单个配置文件。生成单个配置文件;pod使用的话挂载为单个配置文件或覆盖到某个目录。
目录:适用于多个配置文件。会将目录下的所有文件均创建为配置文件,包含到同一个configMap下。pod使用的话覆盖到某个目录,所有配置文件均放置到对应目录下。
1.2.1 指定文件创建
1 | # 文件内容 |
pod应用
1 | apiVersion: v1 |
1 | # 通过上边的yaml文件创建pod, 并将configmap以volumes的形式挂载到pod内 |
1.2.2 指定目录创建
即将一个目录内的所有文件创建为一个ConfigMap,--from-file=File_Path,File_path为目录路径
创建configMap
1 | # 目录内容 |
pod应用
1 | apiVersion: apps/v1 |
1 | # 只覆盖指定文件,查看pod内文件 |
1.3 通过一个文件内多个键值对创建
使用参数--from-env-file=
1 | # ---------------------------------------- 单个键值对文件 ---------------------------------------------------- |
1.4 通过yaml文件创建
事先写好标准的yaml文件,通过kubectl apply -f 命令创建。
1 | # 查看yaml文件 |
2 configmap结合pod使用的二种方式
2.1 通过环境变量的方式,直接传递给pod
参考1.1 中的pod应用示例。
2.2 作为volume的方式挂载到pod内
参考1.2.1和1.2.2中的pod应用示例。