k8s实战-创建ConfigMap

k8s的ConfigMap用来保存配置数据,以键值对形式存储,既可以保存单个属性,也可以保存配置文件。使用ConfigMao前请确保已经安装好了k8s集群,在master主机上执行kubectl create configmap –help,可以看到该命令的使用方法kubectl create configmap map-name map-source。

kubectl create configmap my-config –from-file=path/to/dir

  
该命令以文件目录为源创建ConfigMap,key为文件名,value为文件内容,子文件夹及其下文件将被忽略,例如,k8s-cfg文件夹下有4个文件,文件结构及内容为:

[root@niuhp-vm tmp]# cat k8s-cfg/dir1/file4.data
i am in dir1
[root@niuhp-vm tmp]# cat k8s-cfg/file1
abcdefg
[root@niuhp-vm tmp]# cat k8s-cfg/file2.text
1234567
[root@niuhp-vm tmp]# cat k8s-cfg/file3.log
k1=adsdf,k2=23424,k3=35434

在控制台执行kubectl create configmap my-config-from-dir –from-file=k8s-cfg,成功的话我们会看到如下提示:

[root@niuhp-vm tmp]# create configmap my-config-from-dir --from-file=k8s-cfg
configmap "my-config-from-dir" created

从控制台看下这个ConfigMap的内容

[root@niuhp-vm tmp]# kubectl describe configmap my-config-from-dir
Name:           my-config-from-dir
Namespace:      default
Labels:         <none>
Annotations:    <none>
Data
====
file1:
----
abcdefg
file2.text:
----
1234567
file3.log:
----
k1=adsdf,k2=23424,k3=35434
Events: <none>

从dashboad看下

另外可以通过参数–namespace={namespace-name}指定命令空间。

kubectl create configmap my-config –from-file=[key1=]/path/to/file1.txt –from-file=[key2=]/path/to/file2.txt

  
该命令以多个文件为源创建ConfigMap,key为文件名(也可以指定),value为文件内容,例如执行create configmap my-config-from-files –from-file=k8s-cfg/file1 –from-file=k8s-cfg/dir1/file4.data创建的ConfigMap为

执行kubectl create configmap my-config-from-files-custom-key –from-file=mykey1=k8s-cfg/file1 –from-file=mykey2=k8s-cfg/dir1/file4.data创建的ConfigMap为

kubectl create configmap my-config –from-literal=key1=config1 –from-literal=key2=config2

  
该命令以输入的多个键值对为源创建ConfigMap,例如执行kubectl create configmap my-config-from-kv –from-literal=mykeyzh=nihao –from-literal=mykeyen=hello –from-literal=mykeynum=12345创建的ConfigMap为

kubectl create configmap my-config –from-env-file=path/to/file

  
该命令以存放键值对的文件为源创建ConfigMap,例如:文件 k8s-test.properties中文件内容如下

[root@niuhp-vm tmp]# cat k8s-test.properties
a=1
b=2
c=3
key2=2sfsdf

执行kubectl create configmap my-config-from-envfile –from-env-file=k8s-test.properties创建的ConfigMap为

发布于:2019-11-06 04:24:52