k8s的ConfigMap用來保存配置數(shù)據(jù)晒来,以鍵值對形式存儲鹿响,既可以保存單個屬性,也可以保存配置文件傻唾。使用ConfigMao前請確保已經(jīng)安裝好了k8s集群投慈,在master主機上執(zhí)行kubectl create configmap --help
,可以看到該命令的使用方法kubectl create configmap map-name map-source
。
1 kubectl create configmap my-config --from-file=path/to/dir
該命令以文件目錄為源創(chuàng)建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
在控制臺執(zhí)行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看下
另外可以通過參數(shù)
--namespace={namespace-name}
指定命令空間蝙砌。
2 kubectl create configmap my-config --from-file=[key1=]/path/to/file1.txt --from-file=[key2=]/path/to/file2.txt
該命令以多個文件為源創(chuàng)建ConfigMap阳堕,key為文件名(也可以指定),value為文件內容择克,例如執(zhí)行create configmap my-config-from-files --from-file=k8s-cfg/file1 --from-file=k8s-cfg/dir1/file4.data
創(chuàng)建的ConfigMap為
執(zhí)行
kubectl create configmap my-config-from-files-custom-key --from-file=mykey1=k8s-cfg/file1 --from-file=mykey2=k8s-cfg/dir1/file4.data
創(chuàng)建的ConfigMap為3 kubectl create configmap my-config --from-literal=key1=config1 --from-literal=key2=config2
該命令以輸入的多個鍵值對為源創(chuàng)建ConfigMap,例如執(zhí)行kubectl create configmap my-config-from-kv --from-literal=mykeyzh=nihao --from-literal=mykeyen=hello --from-literal=mykeynum=12345
創(chuàng)建的ConfigMap為
4 kubectl create configmap my-config --from-env-file=path/to/file
該命令以存放鍵值對的文件為源創(chuàng)建ConfigMap,例如:文件 k8s-test.properties中文件內容如下
[root@niuhp-vm tmp]# cat k8s-test.properties
a=1
b=2
c=3
key2=2sfsdf
執(zhí)行kubectl create configmap my-config-from-envfile --from-env-file=k8s-test.properties
創(chuàng)建的ConfigMap為
參考: