Реестр JHipster и основатель облака dry (Pivotal) - PullRequest
0 голосов
/ 13 января 2020

Я пытаюсь развернуть реестр jhipster на основании облака dry, однако его профили переопределяются профилем облака облачных конфигураций весенних облаков. Мне не удается запустить службу на обычном порте 8761, который по умолчанию постоянно используется порт 8080. Кто-нибудь знает, как переопределить эти свойства и настроить его успешно?

1 Ответ

0 голосов
/ 14 января 2020

Пакет Java buildpack не должен переопределять ваши профили Spring, но он будет добавляться к ним. Возможно, вы захотите дважды проверить, как вы настраиваете профили, чтобы убедиться, что они применяются правильно.

Среда автоматической реконфигурации Spring добавляет облачный профиль к любым существующим профилям Spring, таким как определенные в переменная среды SPRING_PROFILES_ACTIVE.

https://github.com/cloudfoundry/java-buildpack/blob/master/docs/framework-spring_auto_reconfiguration.md

Тем не менее, вы можете отключить это поведение автоматической реконфигурации Spring, установив следующую переменную env:

cf set-env <your-app> JBP_CONFIG_SPRING_AUTO_RECONFIGURATION '{ enabled: false }'

Что касается порта, 8080 является портом по умолчанию, используемым всеми приложениями, развернутыми в Cloud Foun dry. Если у вас есть трафик HTTP (S) c, который необходимо направить в ваше приложение, оно будет проходить через порт 8080.

При этом у вас есть несколько вариантов:

  1. Первый вариант - просто начать приложение, прослушивающее порт 8080. Таким образом, трафик c на любые маршруты, которые вы отобразили в приложении, будет доставлен вашему приложению. Например: если к вашему приложению привязан registry.example.com, переход на https://registry.example.com/ приведет к попаданию traffi c в ваше приложение. Порт 8080 является только внутренним, и внешние пользователи не видят его . Это делает ваше приложение публичным, поэтому вам нужно соответствующим образом защитить его.

  2. Второй вариант - сопоставить внутренний маршрут с вашим реестром . В основном это будет работать так же, как описано выше, за исключением того, что вы не сможете получить доступ к реестру извне. Это потенциально могло бы предложить более безопасную установку, но также сделало бы ее так, чтобы вы не могли легко получить доступ к пользовательскому интерфейсу реестра JHipster. Я упоминаю это как вариант, но он, вероятно, не очень хороший, если вам действительно не нужно скрывать реестр. Не забывайте, что если вы используете внутренние маршруты, вам нужно применить сетевую политику, чтобы открыть порты между вашим реестром и сервисными приложениями. По умолчанию порты не открыты.


Что касается реестра JHipster. Я провел тестирование и смог развернуть его, выполнив следующие действия (это ни в коем случае не полный набор инструкций по использованию реестра JHipster, просто минимальный набор для запуска и запуска теста, см. Документы JHipster для более подробной информации).

Инструкции для проверки:

  1. Выполнить git clone https://github.com/jhipster/jhipster-registry & git checkout v6.1.0. Это проверит последнюю версию на тот момент (выберите любую версию).
  2. Редактируйте src/main/resources/config/application-prod.yml, измените пароль с admin на другой. Вам не нужно этого делать, но вам действительно следует это делать, особенно если вы развертываете с помощью publi c route.
  3. Deploy. Как описано, здесь запустите jhipster cloudfoundry, ответьте на вопросы по развертыванию и убедитесь, что вы выбрали уникальное имя приложения (первый вопрос). Подождите немного, пока он развернется.
  4. Реестр должен быть запущен. Захватите URL-адрес к нему.

Для завершения теста вам понадобится служебное приложение:

  1. Создайте приложение микросервиса, используя jhipster app. Ответьте на все вопросы, это действительно не имеет значения для этого теста, так как приложение ничего не собирается делать, поэтому я просто выбрал минимальную установку (без БД, ничего особенного).
  2. Как описано здесь нам нужно отредактировать два файла. Изменить src/main/resources/config/bootstrap-prod.yml. Измените свойство spring.cloud.config.uri, чтобы оно указывало на ваше приложение в PWS. Пример: https://admin:${jhipster.registry.password}@your-registry-name-goes-here.cfapps.io/config.
  3. И отредактируйте 'src / main / resources / config / application-prod.yml . Change the eureka.client.service-url.defaultZone to point to your app on PWS. Ex:http://admin: $ {jhipster.registry.password enj@your-registry-name-goes-here.cfapps.io/eureka/`
  4. Развертывание. Как описано, здесь запустите jhipster cloudfoundry, ответьте на вопросы по развертыванию и убедитесь, что вы выбрали уникальное имя приложения (первый вопрос). Немного подождите, пока оно развертывается.

Как только приложение развернется, вы сможете go войти в свой реестр и увидеть, что ваша служба зарегистрирована. Если вы подождете минуту или около того, и она не зарегистрируется, вам нужно взглянуть на сервисное приложение, чтобы увидеть, что произошло.

Для справки, эти инструкции используют первый вариант, который я описал выше.

Надеюсь, это поможет!

...