当前位置: 首页 > news >正文

ConfigMap 配置错误导致pod持续处于Error状态的排查记录

遇到一个奇怪的情况。在做实验的时候( Kubernetes(K8s)笔记Day09 configmap 4.3 章节),cm正常启动,启动pod也没有报错,但是一看,pod却是这个情况:

赶忙查看详细信息:

[root@hd1 ~]# kubectl describe pod nginx

虽然状态是Faild,但是事件的显示也正常

按步骤来吧。先看pod日志:

日志最后一行清晰地暴露了问题:

2026/08/0511:44:19[emerg]1#1: unexpected end of file, expecting ";" or "}" in /etc/nginx/nginx.conf:1nginx:[emerg]unexpected end of file, expecting";"or"}"in/etc/nginx/nginx.conf:1

大致意思是,Nginx 在启动时读取 /etc/nginx/nginx.conf 文件,发现第 1 行(:1)出现了语法错误——文件内容不完整或格式被破坏,导致 Nginx 无法解析并直接崩溃退出(状态码变为 Error)

经过排查,发现是我的configmap文件写错了!

我的文件:

apiVersion:v1kind:ConfigMapmetadata:name:nginx-cmlabels:app:nginxdata:nginx.conf:./nginx.conf

配置中的./nginx.conf 是一个文件的路径。但是configmap的yaml文件不能引入文件路径!只能引入文件内容!

修改一下,这才是正确的cm yaml文件引入内容的配置:

apiVersion: v1 kind: ConfigMap metadata: name: nginx-cm labels: app: nginx data: nginx.conf:|# 注意这里的竖线和缩进user nginx;worker_processes auto;events{worker_connections1024;}http{include mime.types;default_type application/octet-stream;sendfile on;keepalive_timeout65;server{listen800;server_name www.a.com;location /{root /usr/share/nginx/html;index index.html index.htm;}}}

先删除配置错误的cm:

[root@hd1 ~]# kubectl delete -f my_nginx.yamlconfigmap"nginx-cm"deleted

再删除错误的pod:

[root@hd1 ~]# kubectl delete pod nginxpod"nginx"deleted

接下来我们再进行创建就行了

[root@hd1 ~]# kubectl apply -f my_nginx.yamlconfigmap/nginx-cm created[root@hd1 ~]# kubectl apply -f nginx_cm.yamlpod/nginx created

再次查看pod情况:

[root@hd1 ~]# kubectl get podNAME READY STATUS RESTARTS AGE nginx1/1 Running032s

这个pod已经创建成功

总结

这次排错让我深入学习到configmap的一些特性:
ConfigMap 的 YAML 文件中的data字段只能接受直接的键值对数据,不能通过文件路径引用的方式来加载内容。
因此,想要将整个文件的内容直接导入 ConfigMap,最便捷的方式就是使用kubectl create configmap命令行的--from-file参数

简单说,就是ConfigMap的yaml不能引入文件路径,只能引入文件内容,想要直接导入整个文件,最好用命令行的方式创建cm

http://www.jsqmd.com/news/1337615/

相关文章:

  • 芯片设计逻辑综合实战:从RTL到门级网表的DC流程与约束详解
  • AI开发中的“面具”:从提示词到工程化智能体工作流
  • 2026 年现阶段,巴彦淖尔可靠的 误差控制1mm工厂深度解析,你敢信?这玩意儿能把工业零件的偏差卡死在1毫米里 - 企业推荐官-
  • C++多态性深度解析:从虚函数表到动态绑定原理与实战
  • NLP与知识图谱实战:解析科幻文本并构建概念关系网络
  • 文章明明写对了关键词,为什么还是没进入AI的答案?
  • 2026 年现阶段,绍兴靠谱的35#精密光亮管制造企业推荐,用它做的零件竟比普通管耐用3倍?你绝想不到的行业秘密 - 行业推荐官-2
  • Android日志截断问题全解析:从Logcat限制到完整日志输出方案
  • 二次规划与二次约束规划:从建模到求解的实战指南
  • 2026 年至今,钟山靠谱的热镀锌双边丝护栏网企业怎么联系,花几百块装的围栏竟能用15年?内行都在靠它避坑,原来这玩意儿才是工地刚需-允安丝网 - 实业推荐官
  • GD32 Eclipse开发环境手动搭建与调试实战指南
  • 软件项目经理必知:软件生命周期模型在项目管理中的核心价值
  • 从取火柴游戏到尼姆博弈:异或运算与必胜策略的算法实战
  • RTX 4090D深度评测:精准刀法下的性能巨兽,与4090差距仅2%
  • 2026 年枣强诚信的岩棉净化板定制厂家哪家靠谱,建洁净车间别乱选,这玩意儿居然能省一半后期维护钱? - 行业推荐官【认证】
  • C++部署YOLOv8图像分类模型:ONNX Runtime与OpenCV实战指南
  • 2026 年赤峰正规的真草坪种植基地源头厂家哪家好,小区铺草坪别乱选,这玩意儿能让楼下永远像踩在春日草地上? - 行业严选官
  • 热风枪温度控制原理与实战指南:从PID算法到电子维修应用
  • 电力行业AR智能运维哪个品牌好
  • 2026 年至今,平江优秀的新风系统厂商找哪家,你家墙上那台不起眼的机器,居然悄悄改善了全家的健康? - 企业推荐管【认证】
  • 计算机视觉三大核心任务:目标检测、实例分割与语义分割的深度对比与应用选型
  • 汨罗市厨房漏水维修_2026湘北洞庭湖畔龙舟故里漏水维修与收费标准 - 雨婺虹修缮
  • 相干单边带解调器噪声性能深度剖析:从理论到工程实践
  • 数字电路设计入门:从原理到实践构建高效8位比较器
  • 拉萨装修公司怎么选?2026年本地别墅与全屋整装服务深度分析 - 优质品牌商家
  • OpenCV(图像的基本操作)
  • 2026年武汉地区华为精密空调、配电柜与蓄电池品牌口碑观察:如何选择耐用的数据中心基础设施? - 优质品牌商家
  • 行测资料分析:核心能力拆解与四步解题法实战指南
  • 9.13. 将镜像 LVM 设备转换为 RAID1 逻辑卷
  • CUDA与PyTorch环境配置全攻略:从版本对齐到深度清理