• Kubernetes ConfigMap


    一.创建

    (1)使用指令kubectl创建ConfigMap

    
    
    kubectl create configmap fortune-config --from-literal=sleep-interval=25

      configmap名称:fortune-config
      映射条目:sleep-interval=25


    使用指令kubectl创建多个条目的ConfigMap
    kubectl create configmap fortune-config --from-literal=sleep-interval=25   --from-literal=foo=bar
    
    
    

    查看ConfigMap的Yaml格式的定义描述

    [rancher@rancher-0 ~]$ kubectl  get configmap fortune-config -o yaml
    apiVersion: v1
    data:
      sleep-interval: "25"  #映射的唯一条目
    kind: ConfigMap
    metadata:
      creationTimestamp: "2019-05-31T07:56:12Z"
      name: fortune-config
      namespace: default
      resourceVersion: "6360635"
      selfLink: /api/v1/namespaces/default/configmaps/fortune-config
      uid: 8f2c4de0-8379-11e9-b3bc-000c29fd1fbc 

    (2)通过Kubernetes API来创建:

    kubectl create -f  fortune-config.yaml
    

     

    (3)从文件中创建ConfigMap条目

      ConfigMap可以存储粗粒度的配置数据,比如完整的配置文件。

      

    kubectl create -f configmap my-config --from-file=config-file.conf
    

      运行上述命令时,kubectl会在当前的目录下查找config-file.conf文件,并将文件内容存储在ConfigMap中以config-file.conf为键名的条目下。

    也可以手动指定键名:

    kubectl create -f configmap my-config --from-file=customkey=config-file.conf
    

     (4)从文件夹中创建ConfigMap

    kubectl  create -f configmap my-config --from-file=/path/to/dir
    

     (5)合并不同选项

    kubectl  create -f configmap my-config
    -- from-file=foo.json
    -- from-file=bar=foobar.conf
    -- from-file=config-opts/
    -- from-file=some=thing
    

      以上包含文件夹,单独文件,自定义键名的条目下的文件及字面量

    下图 显示了所有源选项以及最终ConfigMap:

    二.在POD上使用

    (1)设置环境变量

      通过配置文件注入环境变量的pod: fortune-pod-env-configmap.yaml

    apiVersion : v1
    kind: Pod
    rnetadata:
        name: fortune-env-frorn-conf-grnap
    spec:
        containers:
        - image : luksa/fortune:env
          env : 
          - name : INTERVAL 
            valueFrorn:
                configMapKeyRef:
                    name: fortune-config
                    key: sleep-interval
    
    ....
    

      这里定义了 个环境 变量 INTERVAL 并将其值设置为 fortune-config-ConfigMap 中键名为 sleep-interval 对应的值,如下图

  • 相关阅读:
    整型数字转utf8
    cmake构建时指定编译器架构(x86 or x64)
    tcp echo server libuv
    VS2015编译boost1.62
    android rom开发
    游戏昵称
    乐观锁和悲观锁
    数据库锁机制
    MySQL事务实现原理
    MySQL事务
  • 原文地址:https://www.cnblogs.com/wlike/p/11018402.html
Copyright © 2020-2023  润新知