幸福和富有的过一生

幸福和富有的过一生!


  • 首页

  • 归档

  • 关于我

  • 公益404

  • 搜索

kubernetes中配置管理ConfigMap

时间: 2022-06-04 分类: kubernetes   cloudnative   configMap   字数: 642 字 阅读: 2分钟 阅读次数:

CongfigMap

ConfigMap对象用于为容器中的应用提供配置文件等信息,它们将相应的配置信息保存于对象中,而后在Pod资源上以存储卷的形式挂载并获取相关的配置,以实现配置与镜像文件的解耦。 例如为Tomcat的JVM配置堆内存大小等,在容器中启动时,我们可以向容器命令传递参数,将定义好的配置文件嵌入镜像文件中、通过环境变量(Environment Variables)传递配置数据,以及基于Docker卷传送配置文件等。

创建ConfigMap

ConfigMap的配置样例myconfig.yaml

apiVersion: v1
kind: ConfigMap
metadata:
  name: game-demo
data:
  # 类属性键;每一个键都映射到一个简单的值
  player_initial_lives: "3"
  ui_properties_file_name: "user-interface.properties"

  # 类文件键
  game.properties: |
    enemy.types=aliens,monsters
    player.maximum-lives=5        
  user-interface.properties: |
    color.good=purple
    color.bad=yellow
    allow.textmode=true    

通过命令创建kubectl create myconfig.yaml

Pod中使用ConfigMap

可以使用四种方式来使用ConfigMap配置Pod中的容器:

  1. 在容器命令和参数内
  2. 容器的环境变量
  3. 在只读卷里面添加一个文件,让应用来读取
  4. 编写代码在Pod中运行,使用Kubernetes API来读取ConfigMap

下面是一个Pod的示例,它通过使用game-demo中的值来配置一个Pod:

apiVersion: v1
kind: Pod
metadata:
  name: configmap-demo-pod
spec:
  containers:
    - name: demo
      image: alpine
      command: ["sleep", "3600"]
      env:
        # 定义环境变量
        - name: PLAYER_INITIAL_LIVES # 请注意这里和 ConfigMap 中的键名是不一样的
          valueFrom:
            configMapKeyRef:
              name: game-demo           # 这个值来自 ConfigMap
              key: player_initial_lives # 需要取值的键
        - name: UI_PROPERTIES_FILE_NAME
          valueFrom:
            configMapKeyRef:
              name: game-demo
              key: ui_properties_file_name
      volumeMounts:
      - name: config
        mountPath: "/config"
        readOnly: true
  volumes:
    # 你可以在 Pod 级别设置卷,然后将其挂载到 Pod 内的容器中
    - name: config
      configMap:
        # 提供你想要挂载的 ConfigMap 的名字
        name: game-demo
        # 来自 ConfigMap 的一组键,将被创建为文件
        items:
        - key: "game.properties"
          path: "game.properties"
        - key: "user-interface.properties"
          path: "user-interface.properties"

引用

  1. ConfigMap

  2. Kubernetes之ConfigMap详解及实践

#kubernetes# #cloudnative# #configMap#
QQ扫一扫交流

标题:kubernetes中配置管理ConfigMap

链接:/post/k8s-configmap/

作者:lizj3624

声明: 本博客文章除特别声明外,均采用 CC BY-NC-SA 3.0许可协议,转载请注明出处!

创作实属不易,如有帮助,那就打赏博主些许茶钱吧 ^_^
WeChat Pay

微信打赏

Alipay

支付宝打赏

桥水基金瑞.达利欧-经济机器是怎样运行的
SaaS公司估值的锚
  • 文章目录
  • 站点概览
lizj3624

lizj3624

幸福和富有的过一生!

93 日志
90 分类
107 标签
GitHub 知乎
标签云
  • Cloudnative 13
  • 财报 11
  • Kubernetes 10
  • Nginx 9
  • Apisix 7
  • 美股 6
  • Video 5
  • 宏观经济 5
  • 投资 5
  • Linux 4
    • CongfigMap
    • 创建ConfigMap
    • Pod中使用ConfigMap
    • 引用
© 2010 - 2024 幸福和富有的过一生
Powered by - Hugo v0.124.1 / Theme by - NexT
/
Storage by /
0%