问题说明:

项目打包后通过外挂configmap配置文件(application.yml)的方式运行deploy,然后用kubectl logs查看pod日志,发现没有springboot启动等信息,只有一些指定参数打印的GC日志;如图:

在这里插入图片描述

外挂配置文件到容器内的文件名为application.yml,并同时指定了使用此配置文件启动springboot–spring.config.location=“外挂进入容器的application.yml”;

项目内的logback-spring.xml只配置了三个SpringProfile标签:
在这里插入图片描述

问题解决:

因此,springboot启动用的是外挂进来的application.yml,这个是没有后缀的,又由于logback-spring.xml内没有指定匹配不上SpringProfile时的默认日志输出,导致日志无法正常在控制台输出。

解决办法为将通过configmap挂在进去的配置文件的名字加个后缀即可;如application-prod.yml,然后java -jar启动时指定 spring.profiles.active=prod即可,这样就可以匹配到logback-spring.xml内指定的了,可以进行正常的日志输出。

在这里插入图片描述

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐