将 java_opts 传递给 kubernetes 中的 spring boot 应用程序

mag*_*gic 5 docker spring-boot kubernetes kubernetes-deployment kubernetes-pod

目前,我们正在使用入口点构建 Docker 映像,并将该映像传递到 Kubernetes 部署。

有没有办法将入口点直接动态传递给 Kubernetes,以便它启动 Spring Boot 应用程序?

在 Kubernetes 中直接传递此入口点有哪些不同方法?

### Runtime image ###
FROM openjdk:8-jre-alpine

#Set working dir
WORKDIR /test

# Copy the executable JAR
COPY /*.jar /test/

# Run the app
ENTRYPOINT java -Djava.security.egd=file:/dev/./urandom -Djsversion=1.0 -D<variable>=<service-1> -D<variable>=<service-2>   -jar  *.jar
Run Code Online (Sandbox Code Playgroud)

Dyl*_*lan 0

您可以将它们设置为 pod 配置中的环境变量

env:
      - name: MY_POD_IP
        valueFrom:
          fieldRef:
            fieldPath: status.podIP
      - name: profile
        value: "dev"
Run Code Online (Sandbox Code Playgroud)

然后像这样在 Dockerfile 中使用它们

CMD ["sh", "-c", "java -jar -Dspring.profiles.active=$profile rest.war"]
Run Code Online (Sandbox Code Playgroud)