Kubernetes 无法使用JKube Maven插件设置JVM设置
我试图将JVM设置传递给一个Java应用程序,该应用程序被配置为使用JKube Maven插件在Openshift上部署。我在deployment.yaml文件中添加了以下设置:Kubernetes 无法使用JKube Maven插件设置JVM设置,kubernetes,jkube,Kubernetes,Jkube,我试图将JVM设置传递给一个Java应用程序,该应用程序被配置为使用JKube Maven插件在Openshift上部署。我在deployment.yaml文件中添加了以下设置: spec: template: spec: containers: - env: - name: JAVA_OPTS value: '-Xms128m -Xmx1024m -XX:MetaspaceSize=128M -XX:MaxMetaspac
spec:
template:
spec:
containers:
- env:
- name: JAVA_OPTS
value: '-Xms128m -Xmx1024m -XX:MetaspaceSize=128M -XX:MaxMetaspaceSize=256m'
当Java进程在Pod中启动时,我可以看到Java选项被默认值覆盖(请参见-XX:MaxMetaspaceSize的第二个设置):
这最终导致:
Terminating due to java.lang.OutOfMemoryError: Metaspace
您能推荐一种在使用JKube Maven插件时正确设置JVM设置的方法吗?
谢谢您必须使用GC\u MAX\u METASPACE\u SIZE环境变量来定义METASPACE的最大大小。例如:
- name: GC_MAX_METASPACE_SIZE
value: 256
具体地说,这里有一个例子:使用JKube,您的Dockerfile CMD或entrypoint中是否有类似的东西将JAVA_OPTS传递给jvm
JAVA${JAVA_OPTS}-jar
?
- name: GC_MAX_METASPACE_SIZE
value: 256