ConfigMap使用说明
2024-09-18 07:15:55
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命令)应用所用的实际配置目录下。
最新文章
- 在asp.net mvc模式中使用PartialView返回部分HTML
- (49) odoo context操作
- 烂泥:ubuntu下配置msmtp+mutt发送邮件
- IOS字典NSDictionary与NSMutableDictionary知识点
- iOS边练边学--AFNetWorking框架GET、Post、Download、Upload,数据解析模式以及监控联网状态
- ActiveMQ Exception: java.io.EOFException: Chunk stream does not exist
- Ossim主要功能实战
- cocos中使用VS自动创建工程的方法
- esriFeatureType与esriGeometryType的区别与联系
- 修改sqlserver的数据库排序规则语句
- 第十三篇 一个安装、管理windows服务的桌面程序
- JDBC+Servlet+jsp(增删查改)
- CSS核心内容之浮动
- 贝塞尔曲线控件 for .NET (EN)
- RDPwrap: win10 家庭版开通远程桌面服务
- UML建模工具
- Java多线程1:进程与线程的概念、区别和联系
- Linux上面部署java项目
- 缓存系列之二:CDN与其他层面缓存
- C#中Timer定时器的使用示例
热门文章
- springboot connecting to :mongodb://127.0..0.1:27017/test authentication failed
- 【摸鱼神器】UI库秒变低代码工具——表单篇(二)子控件
- Solution -「Luogu 4135」作诗
- 【中国象棋人机对战】引入了AI算法,学习低代码和高代码如何混编并互相调用
- Vue中关于this指向的问题
- jdbc 02: 连接mysql,并实现删除与更新
- 内网渗透之Windows认证(二)
- LabView、CVI、MeasurementStudio三者之间的区别
- Ray类定义
- BMP位图之1位位图(一)