Kubernetes - Настройка пути к классам - PullRequest
0 голосов
/ 30 июня 2018

Я развертываю загрузочное приложение Spring в kubernetes. Мой файл Docker выглядит следующим образом.

FROM alpine-jdk1.8:latest

RUN mkdir -p /ext/app

COPY target/app-service.war /ext/app

ENV JAVA_OPTS="" \
    APPLICATION_ARGS=""

CMD java ${JAVA_OPTS} -jar /ext/app/app-service.war ${APPLICATION_ARGS}

У меня есть много конфигурационных файлов в каталоге conf, но есть и секреты.

Итак, некоторые из них перенесены в секреты, а некоторые - в configMaps в kubernetes. Но, создано более 1 конфигурационных карт и секретов для групп, конфигов и секретов.

Поскольку существует много конфигурационных карт и секретов, мне пришлось создать много монтирований томов и томов, и я использовал расположение пружины confg, чтобы добавить все эти тома в classpath в виде значений, разделенных запятыми.

- name: APPLICATION_ARGS
  value: --spring.config.location=file:/conf,.....

Есть ли другой лучший подход?

Спасибо

1 Ответ

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

Это хороший подход для секретов, но менее для configMaps .

Если ваше военное приложение может полагаться на переменную среды, возможный подход заключается в преобразовании этого configMap в rc-файл (файл со свойствами), который затем может быть прочитан приложением и использован

Пример такого подхода можно увидеть в « Войнах в Куберне * » от knu: t hæugen :

Как бороться с конфигурацией?
Kubernetes нравится конфигурация приложения в переменных окружения, а не в файлах конфигурации.
Это легко в наших нодовых приложениях, используя convict , довольно легко в наших рубиновых приложениях и варьируется от относительно простых до чертовски жестких в наших java-приложениях.

Но как получить конфигурацию в контроллеры репликации? Мы решили использовать configmaps (объект kubernetes) для хранения конфигурации, ссылки на переменные из rc-файлов и сохранения ее в файлах, контролируемых git.
Поэтому, когда мы хотим перейти к конфигурации приложения, обновите файлы конфигурации и запустите сценарий, который обновляет карту конфигурации и перезагружает все модули для приложения

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...