gpt4 book ai didi

java - Kubernetes Java 部署中未解析环境变量

转载 作者:搜寻专家 更新时间:2023-11-01 02:57:13 25 4
gpt4 key购买 nike

在了解了可以传递给 Java 8 虚拟机以使其具有容器意识的参数(即 -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap)之后,我尝试将这些参数添加到我的 Kubernetes 部署中Spring Boot 服务。

在我的部署 YAML 文件的容器部分,我有以下内容:

    resources:        requests:            memory: "256Mi"            cpu: "50m"        limits:
memory: "512Mi" cpu: "200m" env: - name: JVM_OPTS value: "-Xms256M -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap -XX:MaxRAMFraction=1"

在我的 Dockerfile 中,我有:

    ENV JVM_OPTS="-Xmx256M"    ENV JVM_ARGS="-Dspring.profiles.active=kubernetes"    EXPOSE 8080    ENTRYPOINT [ "sh", "-c", "java $JVM_ARGS $JVM_OPTS -jar testservice.jar" ]

我似乎无法弄清楚为什么最大堆大小没有得到正确的大小:

$ kubectl exec test-service-deployment-79c9d4bd54-trxgj -c test-service -- java -XshowSettings:vm -version'VM settings:    Max. Heap Size (Estimated): 875.00M    Ergonomics Machine Class: server    Using VM: OpenJDK 64-Bit Server VMopenjdk version "1.8.0_171"OpenJDK Runtime Environment (IcedTea 3.8.0) (Alpine 8.171.11-r0)OpenJDK 64-Bit Server VM (build 25.171-b11, mixed mode)

我在这里做错了什么?

在本地 Docker 安装中,我可以看到正确设置了 JVM 最大堆:

$ docker run openjdk:8-jre-alpine java -Xms256M -Xmx512M -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap -XX:MaxRAMFraction=1 -XshowSettings:vm -versionVM settings:     Min. Heap Size: 256.00M     Max. Heap Size: 512.00M     Ergonomics Machine Class: server     Using VM: OpenJDK 64-Bit Server VM openjdk version "1.8.0_171" OpenJDK Runtime Environment (IcedTea 3.8.0) (Alpine 8.171.11-r0) OpenJDK 64-Bit Server VM (build 25.171-b11, mixed mode)

最佳答案

在容器中运行 java -XshowSettings:vm -version 时,JVM_OPTS 不包含在您的命令中。

试试这个

kubectl exec test-service-deployment-79c9d4bd54-trxgj -c test-service \
-- sh -c 'java $JVM_OPTS -XshowSettings:vm -version'

关于java - Kubernetes Java 部署中未解析环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52631163/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com