zoukankan      html  css  js  c++  java
  • ConfigMap使用说明

    ConfigMap概述

    ConfigMap供容器使用的典型用法如下。
    (1)生成为容器内的环境变量。
    (2)设置容器启动命令的启动参数(需设置为环境变量)。
    (3)以Volume的形式挂载为容器内部的文件或目录。

    ConfigMap以一个或多个key:value的形式保存在Kubernetes系统中供应用使用,既可以用于表示一个变量的值(例如apploglevel=info),也可以用于表示一个完整配置文件的内容(例如server.xml=<?xml...>...)
    可以通过YAML配置文件或者直接使用kubectl create configmap命令行的方式来创建ConfigMap。

    通过kubectl命令行方式创建

    通过kubectl create configmap也可以创建ConfigMap,可以使用参数--from-file或--from-literal指定内容,并且可以在一行命令中指定多个参数。

    (1)通过--from-file参数从文件中进行创建,可以指定key的名称,也可以在一个命令行中创建包含多个key的ConfigMap,语法为:

    kubectl create configmap NAME --from-file=[key=]source --from-file=[key=]source 
    

    (2)通过--from-file参数从目录中进行创建,该目录下的每个配置文件名都被设置为key,文件的内容被设置为value,语法为:

    kubectl create configmap NAME --from-file=config-file-dir
    

    (3)使用--from-literal时会从文本中进行创建,直接将指定的key#=value#创建为ConfigMap的内容,语法为:

    kubectl create configmap NAME --from-literal=key1=value1 --from-literal=key2=value2 
    

    使用ConfigMap的限制条件

    • ConfigMap必须在Pod之前创建
    • ConfigMap受Namespace限制,只有处于相同Namespace中的Pod才可以引用它
    • kubelet只支持可以被API Server管理的Pod使用ConfigMap。kubelet在本Node上通过--manifest-url--config自动创建的静态Pod将无法引用ConfigMap
    • 在Pod对ConfigMap进行挂载(volumeMount)操作时,在容器内部只能挂载为“目录”,无法挂载为“文件”。
      在挂载到容器内部后,在目录下将包含ConfigMap定义的每个item,如果在该目录下原来还有其他文件,则容器内的该目录将被挂载的ConfigMap覆盖。
      如果应用程序需要保留原来的其他文件,则需要进行额外的处理。
      可以将ConfigMap挂载到容器内部的临时目录,再通过启动脚本将配置文件复制或者链接到(cp或link命令)应用所用的实际配置目录下。
  • 相关阅读:
    模板
    CF1271E Common Number
    模板——长链剖分
    XJOI NOIP501/511训练22 ttt学字符串
    POJ 1151 Atlantis
    BZOJ 1014 [JSOI2008]火星人prefix
    Luogu P1856 [USACO5.5]矩形周长Picture
    CF716D Complete The Graph
    Luogu P2596 [ZJOI2006]书架
    HTML 学习之JavaScript作用域
  • 原文地址:https://www.cnblogs.com/sanduzxcvbnm/p/15015784.html
Copyright © 2011-2022 走看看