【Kubernetes】Pod学习(四)ConfigMap入门

此文为学习《Kubernetes权威指南》的相关笔记

学习笔记:

       为了提高容器的可复用性,在设计时优先将配置文件和实际程序分离,在容器迁移或复用时通过修改配置文件让容器快速工作,那么对于一个强调高可用、快速部署的容器集群而言,配置注入容器的方式便很关键,在K8s上主要有两个思路:通过配置容器环境变量或者通过数据卷挂载,这两种方法在前面学习中均有涉及过。

       数据对象ConfigMap在我理解中并不是新建了一种配置注入方法,而是为上述两种方法提供了一种配置管理方案,简而言之,CM将配置信息打包到一个CM实例中,打包内容可以是多个键值对也可以是一组配置文件,在建立容器时使用CM实例通过上述两种方法快速注入配置,这种方案使得配置的集中、分类、分发都变得高效和容易。

      另:CM使用的限制条件

  • 创建于使用该CM的Pod之前;(配置预定义)
  • Pod只能使用同一namespace的CM;(配置隔离)
  • CM只能被非静态Pod使用;(由于需要API Server的调控)
  • 由于Pod只能以文件夹的形式挂载卷,挂载CM中的item时将同样以文件夹的形式挂载,此时将注意原有文件被覆盖;
  • CM暂无配额管理相关功能;

1、通过yaml文件添加键值对配置

创建CM配置yaml文件

# vim cm-appvars.yaml

apiVersion: v1
kind: ConfigMap
metadata:
 name: cm-appvars
data:    #键值对列表定义
 apploglevel: info
 appdatadir: /var/data

创建CM,并查看CM列表

# kubectl create -f cm-appvars.yaml
configmap/cm-appvars created
# kubectl get cm
NAME         DATA   AGE
cm-appvars   2      6s

查看CM详细内容,可以看到在yaml文件中配置好的键值对,未来将作为配置注入容器


# kubectl describe cm cm-appvars
Name:         cm-appvars
Namespace:    default
Labels:       <none>
Annotations:  <none>

Data               #键值对定义
====
appdatadir:
----
/var/data
apploglevel:
----
info

Events:  <none>

2、通过yaml文件添加配置文件进入CM

在实际应用场景中,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值