переопределение конфигурации lagom - PullRequest
0 голосов
/ 23 мая 2018

Есть ли способ развернуть проекты lagom на kubernetes в разных средах (например, dev, stage, prod), чтобы я мог использовать одно изображение с несколькими переопределениями конфигурации?

Например, допустим, у меня естьпеременная окружения, foo=bar-{{env}}.Я хочу построить и опубликовать одно изображение и переопределить конфигурации так, чтобы в dev foo=bar-dev и в prod foo=bar-prod.

В настоящее время я понимаю, что application.conf привязан к изображению и не может быть переопределен,Если это правильно, есть ли способ обойти это, чтобы мне не нужно было создавать несколько изображений, по одному для каждой среды?

Ответы [ 2 ]

0 голосов
/ 03 июня 2018

В качестве альтернативы, вы можете установить переменную системного свойства typesafe config для переопределения файла application.conf

  • application.conf: использование файла конфигурации по умолчанию при разработке

    foo: bar-dev
    
  • application.prod.conf:

    include "application.conf"
    foo: bar-prod
    

Установить системную переменную dockerfile:

 ENTRYPOINT java -Dconfig.resource="$CONFIG_FILE"

в кубернетес yml

 env:
     - name: CONFIG_FILE
       value: "application.prod.conf"
0 голосов
/ 23 мая 2018

Это можно сделать несколькими способами:

Статический:

Вы можете создать 3 развертывания в 3 пространствах имен и добавить переменную env в каждое развертывание.Вы можете управлять этими переменными вручную для каждого развертывания:

apiVersion: v1
kind: Pod
metadata:
  namespace: dev
  name: envar-demo
  labels:
    purpose: demonstrate-envars
spec:
  containers:
  - name: java-demo-container
    image: my-super-java-app
    env:
    - name: foo
      value: "bar-dev"
    - name: JAVA_HOME
      value: "/opt/java/jdk1.7.0_05/bin/java"

Helm :

Вы можете создать таблицу управления и использовать 3 файла с переменными для развертывания приложения.Чтобы разработать графики, вы можете прочитать официальную документацию или найти примеры в официальном репозитории Kubernetes

...