Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes 无法使用JKube Maven插件设置JVM设置_Kubernetes_Jkube - Fatal编程技术网

Kubernetes 无法使用JKube Maven插件设置JVM设置

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

我试图将JVM设置传递给一个Java应用程序,该应用程序被配置为使用JKube Maven插件在Openshift上部署。我在deployment.yaml文件中添加了以下设置:

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