(1) 使用kubectl create configmap命令创建
查看帮助命令
kubectl create configmap --help
Examples:
# Create a new config map named my-config based on folder bar
kubectl create configmap my-config --from-file=path/to/bar
# Create a new config map named my-config with specified keys instead of file basenames on disk
kubectl create configmap my-config --from-file=key1=/path/to/bar/file1.txt --from-file=key2=/path/to/bar/file2.txt
# Create a new config map named my-config with key1=config1 and key2=config2
kubectl create configmap my-config --from-literal=key1=config1 --from-literal=key2=config2
# Create a new config map named my-config from the key=value pairs in the file
kubectl create configmap my-config --from-file=path/to/bar
# Create a new config map named my-config from an env file
kubectl create configmap my-config --from-env-file=path/to/foo.env --from-env-file=path/to/bar.env
基于字面值创建
使用–from-literal选项,可以直接在命令行中指定键值对来创建ConfigMap。例如:
kubectl create configmap my-config --from-literal=key1=value1 --from-literal=key2=value2
查看创建好的configmap
kubectl get cm
NAME DATA AGE
my-config 2 6s
查看详细信息
kubectl describe cm my-config
Name: my-config
Namespace: default
Labels: <none>
Annotations: <none>
Data
====
key2:
----
value2
key1:
----
value1
BinaryData
====
Events: <none>
删除configmap
kubectl delete cm my-config
(2) 基于文件创建
可以使用–from-file选项,从单个文件或多个文件中创建ConfigMap。例如:
kubectl create configmap my-config-file --from-file=config.file
或者从目录中的多个文件创建:
kubectl create configmap my-config-dir --from-file=./config-directory/
还可以指定文件中的键名,如果不指定则默认为文件名:
kubectl create configmap my-config-file-with-key --from-file=mykey=config.file
(3) 基于环境变量文件创建
kubectl create configmap my-config-env --from-env-file=env.file
(4) 使用YAML文件定义并创建
除了使用命令行工具外,还可以通过编写YAML文件来定义ConfigMap,并使用kubectl apply或kubectl create命令将其应用到Kubernetes集群中。例如:
apiVersion: v1
kind: ConfigMap
metadata:
name: my-config-yaml
data:
key1: value1
key2: value2
然后执行以下命令创建ConfigMap:
kubectl apply -f configmap.yaml