web-dev-qa-db-ja.com

Java_optsをkubernetesのSpringBootアプリケーションに渡す

現在、エントリポイントを使用して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
2
magic

K8sデプロイメントマニフェストでcommandを使用できます。

containers:
- name: mycontainer
  env:
  - name: NAME
    value: VALUE
  command: [ "Java"]
  args: ["-jar", "-D..."]
1
Burak Serdar

Dockerコンテナに渡したい残りの環境変数と一緒にkubernetesデプロイメントyamlファイルに含めることもできます。

- name: Java_OPTS
  value: >-
        -Djava.security.egd=file:/dev/./urandom 
        -Djsversion=1.0 -D<variable>=<service-1> -D<variable>=<service-2>
- name: SERVER_PORT
  value: 8080
0
pokkie

ポッドの構成で環境変数として設定できます

env:
      - name: MY_POD_IP
        valueFrom:
          fieldRef:
            fieldPath: status.podIP
      - name: profile
        value: "dev"

その後、Dockerfileのようにそれらを使用します

CMD ["sh", "-c", "Java -jar -Dspring.profiles.active=$profile rest.war"]
0
Dylan