zoukankan      html  css  js  c++  java
  • Kubernetes里的ConfigMap的用途

    顾名思义,ConfigMap用于保存配置数据的键值对,可以用来保存单个属性,也可以用来保存配置文件。

    ConfigMap同Kubernetes的另一个概念secret类似,区别是ConfigMap主要用于保存不包含敏感信息的明文字符串。

    创建方式:

    kubectl create configmap special-config --from-literal=i042416=jerry

    上述命令行创建了一个名为special-config的键值对,

    key为i042416, 值为jerry

    接下来我希望用这个key为i042416的值"jerry"来定义成pod里的一个环境变量。

    下面是我的yaml文件:

    apiVersion: v1

    2 kind: Pod

    3 metadata:

    4 name: jerry-config-pod

    5 spec:

    6 containers:

    7 - name: test-container

    8 image: gcr.io/google_containers/busybox

    9 command: [ "/bin/sh", "-c", "env" ]

    10 env:

    11 - name: JERRY_NAME

    12 valueFrom:

    13 configMapKeyRef:

    14 name: special-config

    15 key: i042416

    16 restartPolicy: Never

    可以看到第15行引用了我的ConfigMap的key:i042416

    下面使用create -f将该yaml文件导入,创建一个新的pod:

    创建之后,能在pod的明细页面看到configMap的key已经作为环境变量显示出来了:

    因为我yaml文件里指定pod执行的script为/bin/sh -c env, 因此最后会将容器里所有的环境变量都打印出来,我们定义在ConfigMap里的i042416的值jerry也被显示了出来:

    这种定义环境变量的做法和SAP云平台CloudFoundry环境里定义环境变量的方式很类似。

    CloudFoundry环境变量一览表:

    https://docs.run.pivotal.io/devguide/deploy-apps/environment-variable.html

    • CF_INSTANCE_ADDR
    • CF_INSTANCE_GUID
    • CF_INSTANCE_INDEX
    • CF_INSTANCE_IP
    • CF_INSTANCE_INTERNAL_IP
    • CF_INSTANCE_PORT
    • CF_INSTANCE_PORTS
    • DATABASE_URL
    • HOME
    • LANG
    • MEMORY_LIMIT
    • PORT
    • PWD
    • TMPDIR
    • USER
    • VCAP_APP_PORT
    • VCAP_APPLICATION
    • VCAP_SERVICES

    当使用cf push命令将本地应用部署到SAP云平台的CloudFoundry环境下时,某些环境变量会自动被系统写入相应的值,这个行为同ABAP的sy-sysid自动被设置为当前系统ID具有一样的逻辑。

    比如app router会把用户访问请求重定向到XSUAA实例上。

    app router在manifest.yml里定义的XSUAA实例名称为xsuaa-jerry-demo,

    在运行时这个XSUAA的id会被SAP云平台自动写入环境变量VCAP_SERVICES里:

    要获取更多Jerry的原创文章,请关注公众号"汪子熙":

  • 相关阅读:
    hud 3336 count the string (KMP)
    JSOI2008星球大战(并查集)
    HAOI2006受欢迎的牛
    十二月个人考核
    十二月个人考核
    CentOS配置Tomcat监听80端口,虚拟主机
    CentOS配置Tomcat监听80端口,虚拟主机
    如何调试一个无法重现的错误?
    如何调试一个无法重现的错误?
    Highcharts的自适应DOM或者DIV,JS方法实现
  • 原文地址:https://www.cnblogs.com/sap-jerry/p/9821510.html
Copyright © 2011-2022 走看看