kubernetes之十: ConfigMap

时间:2020-08-14 03:42:06 来源:

【摘要】 kubernetes之十: ConfigMap考必过小编为大家整理了关于kubernetes之十: ConfigMap的信息,希望可以帮助到大家!

kubernetes之十: ConfigMap

标签:version   ati   lazy   source   creation   jdb   k8s   metadata   vol   

什么是ConfigMap

ConfigMap是用来存储配置文件的Kubernetes的资源对象,配置对象存储在Etcd中,配置的形式可以是完整的配置文件或者key/value的形式

 

ConfigMap可以带来什么好处

传统的应用服务,每个服务都有自己的配置文件,各自配置文件存储在服务所在节点,对于单体应用,这种存储没有任何问题,
但是随着用户数量的激增,一个节点不能满足线上用户使用,故服务可能从一个节点扩展到十个节点,这就导致,
如果有一个配置出现变更,就需要对应修改十次配置文件。这种人肉处理,显然不能满足线上部署要求,
故引入了各种类似于 ZooKeeper 中间件实现的配置中心,但配置中心属于 “侵入式” 设计,
需要修改引入第三方类库,它要求每个业务都调用特定的配置接口,破坏了系统本身的完整性,
Kubernetes 利用了 Volume 功能,完整设计了一套配置中心,其核心对象就是ConfigMap
使用过程不用修改任何原有设计,即可无缝对 ConfigMap;为什么呢?

 

 

 

ConfigMap 三种创建方式

第一种方式: 指定字面量进行创建,创建命令如下所示

kubectl create configmap configmaptest --from-literal=foo=bar --from-literal=one=two



[[email protected] ~]# kubectl get configmap configmaptest -o yaml
apiVersion: v1
data:
  foo: bar
  one: two
kind: ConfigMap
metadata:
  name: configmaptest
  namespace: default

 

第二种方式: 指定特定文件进行创建

[[email protected] template]# cat db.properties 
driverClassName=com.mysql.jdbc.Driver

kubectl create configmap config-files --from-file=/data/k8s/template/db.properties 



[[email protected] template]# kubectl get configmap config-files -o yaml
apiVersion: v1
data:
  db.properties: |
     driverClassName=com.mysql.jdbc.Driver
kind: ConfigMap
metadata:
  creationTimestamp: "2020-08-12T13:52:35Z"
  managedFields:
  - apiVersion: v1
    fieldsType: FieldsV1
    fieldsV1:
      f:data:
        .: {}
        f:db.properties: {}
    manager: kubectl
    operation: Update
    time: "2020-08-12T13:52:35Z"
  name: config-files
  namespace: default
  resourceVersion: "491983"
  selfLink: /api/v1/namespaces/default/configmaps/config-files
  uid: bfeacb89-fdd7-41d7-8089-ce1a1629b102
You have new mail in /var/spool/mail/root

 第三种:  指定特定文件夹进行创建

kubectl create configmap config-dir --from-file=/data/k8s/template/config/


[[email protected] ~]# kubectl get configmap config-dir -o yaml
apiVersion: v1
data:
  db.properties: |
    driverClassName=com.mysql.jdbc.Driver
  svc.properties: |
    #server
    protocol=tcp
  system.properties: |
    time=100
kind: ConfigMap
metadata:
  name: config-dir
  namespace: default

 

 

 

 

 

 

 

kubernetes之十: ConfigMap

标签:version   ati   lazy   source   creation   jdb   k8s   metadata   vol   

以上就是kubernetes之十: ConfigMap的内容,更多资讯请及时关注考必过网站,最新消息小编会第一时间发布,大家考试加油!

上一篇      下一篇
前端相关推荐 更多>>
Web前端工程师需要学习的技能清单 css性能优化-will-change CSS之文本两端对齐 这样的广告请再来一打 — background-attachment 初识 CSS Shapes —– (二) 初识 CSS Shapes CSS3– filter(滤镜) chrome transition闪烁BUG
前端热点专题 更多>>
热点问答
国家公务员考试年龄限制是多少 公务员国考和省考考试内容有什么区别 函授大专学历能不能考公务员 国家公务员考试考点能自己选择吗 新闻学专业能报考2022年公务员考试吗 什么是联合培养研究生 什么是破格录取研究生 什么人不适合读研 研究生报名户口所在地填什么 研究生结业和毕业有什么区别
网站首页 网站地图 返回顶部
考必过移动版 https://m.kaobiguo.net