k8s实战-创建ConfigMap

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

1 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}指定命令空间。

2 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为

3 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为

4 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为

参考:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,837评论 18 139
  • NAME dnsmasq - A lightweight DHCP and caching DNS server....
    ximitc阅读 2,906评论 0 0
  • Correctness AdapterViewChildren Summary: AdapterViews can...
    MarcusMa阅读 8,900评论 0 6
  • 雨掸霜叶 徒惹檐下风铃声 清脆 我初叹天气微凉的惆怅 一弯清月 泛起池心涟漪 圈圈晕过 陈年划过的一道道伤 梦偏冷...
    小柯萌阅读 185评论 0 0
  • 早上起床的速度还是可以,早读的状态不理想,也没有复习就出门了 上午的工作有点松懈,电脑比较卡的时候,就是怕耽误重启...
    生活slow阅读 172评论 0 0