Настройки конкретного экземпляра в приложении Cloud Foundry

Есть ли способ запустить, например. 2 экземпляра одного и того же облачного литейного приложения, где каждый экземпляр имеет свои собственные настройки экземпляра, передаваемые как параметры или переменные среды, например. экземпляр1 подписывается на тему Kafka A, а экземпляр2 подписывается на тему Kafka B?


person Sheel Pancholi    schedule 23.09.2019    source источник


Ответы (1)


Есть ли способ запустить, например. 2 экземпляра одного и того же облачного литейного приложения, где каждый экземпляр имеет свои собственные настройки экземпляра, передаваемые как параметры или переменные среды, например. instance1 подписывается на тему Kafka A, а instance2 подписывается на тему Kafka B?

Не совсем. То, о чем вы говорите, — это два разных приложения, по крайней мере, в том смысле, как Cloud Foundry определяет «приложение». Для CF ваше приложение будет иметь исходный код, дроплет, переменные среды и все необходимое для запуска вашего приложения, например службы, которые одинаковы для всех экземпляров вашего приложения.

Если у вас есть один и тот же исходный код, который вы хотите запустить с другой конфигурацией, службами или переменными среды, вам нужно отправить его как отдельное приложение (в терминологии Cloud Foundry).

Самый простой способ сделать это — cf push разделить имена приложений. Это немного избыточно, потому что вам нужно отправить один и тот же код несколько раз. Я бы посоветовал вам пойти по этому пути, если это приведет к тому, что вы потратите немного времени. На следующий вариант можно обратить внимание, если у вас множество (десятки, сотни и более) различных конфигураций приложений, основанных на одном и том же исходном коде.

Если у вас много разных приложений, вы можете загрузить дроплет из своего первого приложения, а затем cf push --droplet для любое другое приложение. Это развернет каплю, которую вы загрузили из первого приложения, и повторно использует ее с различными конфигурациями (возможно, с использованием разных manifest.yml файлов) для всех копий вашего приложения.

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

person Daniel Mikusa    schedule 23.09.2019