Kubernetes 杂谈之 configmap \n的问题

2024-03-02 20:20

本文主要是介绍Kubernetes 杂谈之 configmap \n的问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一  configmap \n的问题

涉及的'知识点': configmap资源对象、yaml'|- |+ >'语法目的: 彻底解决'YAML 多行文本'格式化'丢失'问题

①   ConfigMap 进阶

configmap 的data中的文件内容格式错乱

ConfigMap多行格式

场景:将业务部署到k8s时,'应用的配置文件'通常写在ConfigMap中,然后以文件的形式挂载到Pod中kubectl create configmap -h直接使用'字符串'进行创建,通过 --from-literal 参数传递配置信息,同样这个参数可以使用'多次'

Resource Quotas | Kubernetes   configmap个数限制案例

大部分Kubernetes版本'默认'开启了ResourceQuota'低版本'在APIServer配置文件'--enable-admission-plugins'参数中添加ResourceQuota开启个数和大小限制ResourceQuotas 会限制'命名空间'中 configmap 的'数量'思考: 但有没有这样的选项来限制'单个' configmap 的 'size'大小?目的: 不希望某些用户开始将'大型文本文件'作为'配置'映射上传ConfigMap 的大小'默认限制'为 '1MB'解读: 1、实际ConfigMap 或 Secret 对象上都'没有'硬限制。2、然而'etcd'端有 '1MB' 的限制,这是 Kubernetes '存储其对象'的地方

 

1、主程序是'非pid=1'的常驻进程     --> 多个命令通过';'进行串连2、'健康检查'常驻进程的'port端口'  --> '必须'3、每'10s'检查'配置文件'的md5值,如果跟上次不一致就进行'reload|restart'

configmap的回车被转义成\n

②   yaml 特殊符号语法

在">"符号应用的'多行文本'值中,所有'换行符'都会被视为'空格'> 右尖括号,用来表示'折叠换行',只有'空白行'才会被识别为'换行',原来的换行符都会被转换成'空格'竖线符'|',这在 yaml 中表示保留换行,每行的'缩进和行尾空白'都会被'去掉',而额外的缩进会被保留"|+": 保留'每行尾部的换行符\n'的同时,'保留'内容结尾处的换行符\n"|-": 保留'每行尾部的换行符\n'的同时,'删除'内容结尾处的换行符\n"|-":保留'行尾'换行符,但不保留'字符末尾'的换行符">+":将行尾换行符'替换'成空格,保留'字符末尾'的换行符">-":将行尾换行符替换成空格,'不保留'字符末尾的换行符换行主要使用 | 和 > , '|'保留行尾'换行符', '>'将行尾换行符替换成'空格'保留字符末尾的换行使用'+',删除字符末尾的换行使用'-',一般用于与'|'和'>'组合使用K8S的yaml文件'只允许'有'空格'

jq杂谈

yaml 官方多行文本格式

说明: 补充一些'知识点'与本文关系不大

③  \n 问题引入

通过一个'对比实验'说明如何彻底'解决 YAML 多行文本格式化丢失'问题备注: 不小心在'字符结尾换行前'多打了个'空格'

 

vimdiff ceshi{,1}.yml   '对比二者的差异性'

++++++++++++++++  "问题思考"  ++++++++++++++++现象: configmap 的data中的文件内容'格式'错乱,可读性不强,不便于'edit'在线编辑"推荐": kubectl create configmap my-config --from-file=path/to/file细节: 通过'file'文件的形式创建'cm',会产生'|'形式备注: cm中推荐'配置文件'的形式引入,而不是直接将'相关配置数据'写入cm资源对象中,便于管理更新进阶:  推荐'配置文件'也纳入'git'等版本控制中,跟'代码'放在一起一块管理++++++++++++++++  "file中应该怎么操作"  ++++++++++++++++# 使用以下方法删除'尾随'空格
sed -i -E 's/[[:space:]]+$//g' file# 使用空格'替换'制表符
sed -i 's/\t/    /g' file思考: nginx的配置文件'nginx.conf'

解决策略

④  结论

+++++++++ "主要是data中" +++++++++1、文本'每行'不要以'空格'结尾2、不要'换行'前再'带个空格'3、不要在文本中添加'不可见'特殊字符推荐: 将文本拷贝并'格式化yaml文本',可使用在线格式化工具

YAML在线格式化

这篇关于Kubernetes 杂谈之 configmap \n的问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/767318

相关文章

解决Nginx启动报错Job for nginx.service failed because the control process exited with error code问题

《解决Nginx启动报错Jobfornginx.servicefailedbecausethecontrolprocessexitedwitherrorcode问题》Nginx启... 目录一、报错如下二、解决原因三、解决方式总结一、报错如下Job for nginx.service failed bec

SysMain服务可以关吗? 解决SysMain服务导致的高CPU使用率问题

《SysMain服务可以关吗?解决SysMain服务导致的高CPU使用率问题》SysMain服务是超级预读取,该服务会记录您打开应用程序的模式,并预先将它们加载到内存中以节省时间,但它可能占用大量... 在使用电脑的过程中,CPU使用率居高不下是许多用户都遇到过的问题,其中名为SysMain的服务往往是罪魁

MySQ中出现幻读问题的解决过程

《MySQ中出现幻读问题的解决过程》文章解析MySQLInnoDB通过MVCC与间隙锁机制在可重复读隔离级别下解决幻读,确保事务一致性,同时指出性能影响及乐观锁等替代方案,帮助开发者优化数据库应用... 目录一、幻读的准确定义与核心特征幻读 vs 不可重复读二、mysql隔离级别深度解析各隔离级别的实现差异

C++ vector越界问题的完整解决方案

《C++vector越界问题的完整解决方案》在C++开发中,std::vector作为最常用的动态数组容器,其便捷性与性能优势使其成为处理可变长度数据的首选,然而,数组越界访问始终是威胁程序稳定性的... 目录引言一、vector越界的底层原理与危害1.1 越界访问的本质原因1.2 越界访问的实际危害二、基

Python多线程应用中的卡死问题优化方案指南

《Python多线程应用中的卡死问题优化方案指南》在利用Python语言开发某查询软件时,遇到了点击搜索按钮后软件卡死的问题,本文将简单分析一下出现的原因以及对应的优化方案,希望对大家有所帮助... 目录问题描述优化方案1. 网络请求优化2. 多线程架构优化3. 全局异常处理4. 配置管理优化优化效果1.

Linux部署中的文件大小写问题的解决方案

《Linux部署中的文件大小写问题的解决方案》在本地开发环境(Windows/macOS)一切正常,但部署到Linux服务器后出现模块加载错误,核心原因是Linux文件系统严格区分大小写,所以本文给大... 目录问题背景解决方案配置要求问题背景在本地开发环境(Windows/MACOS)一切正常,但部署到

MySQL磁盘空间不足问题解决

《MySQL磁盘空间不足问题解决》本文介绍查看空间使用情况的方式,以及各种空间问题的原因和解决方案,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧... 目录查看空间使用情况Binlog日志文件占用过多表上的索引太多导致空间不足大字段导致空间不足表空间碎片太多导致空间不足临时表空间

Mybatis-Plus 3.5.12 分页拦截器消失的问题及快速解决方法

《Mybatis-Plus3.5.12分页拦截器消失的问题及快速解决方法》作为Java开发者,我们都爱用Mybatis-Plus简化CRUD操作,尤其是它的分页功能,几行代码就能搞定复杂的分页查询... 目录一、问题场景:分页拦截器突然 “失踪”二、问题根源:依赖拆分惹的祸三、解决办法:添加扩展依赖四、分页

Java中InputStream重复使用问题的几种解决方案

《Java中InputStream重复使用问题的几种解决方案》在Java开发中,InputStream是用于读取字节流的类,在许多场景下,我们可能需要重复读取InputStream中的数据,这篇文章主... 目录前言1. 使用mark()和reset()方法(适用于支持标记的流)2. 将流内容缓存到字节数组

解决若依微服务框架启动报错的问题

《解决若依微服务框架启动报错的问题》Invalidboundstatement错误通常由MyBatis映射文件未正确加载或Nacos配置未读取导致,需检查XML的namespace与方法ID是否匹配,... 目录ruoyi-system模块报错报错详情nacos文件目录总结ruoyi-systnGLNYpe