; ;

k8s容器启动失败问题总结

背景:在启动镜像时会经常遇到启动容器失败的情况

问题1:查看pod时,镜像提示CrashLoopBackOff

先来查看log,日志很明显的有提示

 解决方案:

   从日志中查看是加载配置文件出错了,所以我们要确认在容器中是否能正确加载配置文件,所以方案,先正常启动pod,在容器内部在手动启动,查看,且要确认是否能正确读取配置文件

更改启动时程序

启动时使用:command: ["bash", "-c", "sleep 10000"]

 进入容器内部,使用启动命令

command: ["/opt/push/bin/tcpproc/tcp_proc","/opt/push/conf/tcpproc/report.conf","0"]  可正常启动,说明configmap启动正常

说明问题出在yaml的问题,修改yaml对应的jmonitor路径,如下如图,以下地址是pod中能找到的路径,原来是写的一个相对路径(./jmonitor_proxy.conf)

 

 如果提示少了某个文件,先查configmap中是否正确加载,2.进入容器内部手动启动,如果能手动启动成功,就是yaml文件有问题

 

问题2、 configmap references non-existent config key: jmonitor_proxy.conf

 这个问题说明yaml中需要配置文件,但是confimap并没有找到,发现两个地方不对,就查configmap

查询1.配置文件中加载的文件不对

 

2.confifgmap中文件名称也不对(最开始是jmonitor_client.conf)

 如果提示configmap中提示不存在某个key,但是文件中存在,就需要确认,configmap中引用的文件名是否一致,以上就是文件不对

 

posted @ 2022-04-12 17:03  做梦的人-  阅读(3223)  评论(0编辑  收藏  举报