Есть ли способ запустить, например. 2 экземпляра одного и того же облачного литейного приложения, где каждый экземпляр имеет свои собственные настройки экземпляра, передаваемые как параметры или переменные среды, например. экземпляр1 подписывается на тему Kafka A, а экземпляр2 подписывается на тему Kafka B?
Настройки конкретного экземпляра в приложении Cloud Foundry
Ответы (1)
Есть ли способ запустить, например. 2 экземпляра одного и того же облачного литейного приложения, где каждый экземпляр имеет свои собственные настройки экземпляра, передаваемые как параметры или переменные среды, например. instance1 подписывается на тему Kafka A, а instance2 подписывается на тему Kafka B?
Не совсем. То, о чем вы говорите, — это два разных приложения, по крайней мере, в том смысле, как Cloud Foundry определяет «приложение». Для CF ваше приложение будет иметь исходный код, дроплет, переменные среды и все необходимое для запуска вашего приложения, например службы, которые одинаковы для всех экземпляров вашего приложения.
Если у вас есть один и тот же исходный код, который вы хотите запустить с другой конфигурацией, службами или переменными среды, вам нужно отправить его как отдельное приложение (в терминологии Cloud Foundry).
Самый простой способ сделать это — cf push
разделить имена приложений. Это немного избыточно, потому что вам нужно отправить один и тот же код несколько раз. Я бы посоветовал вам пойти по этому пути, если это приведет к тому, что вы потратите немного времени. На следующий вариант можно обратить внимание, если у вас множество (десятки, сотни и более) различных конфигураций приложений, основанных на одном и том же исходном коде.
Если у вас много разных приложений, вы можете загрузить дроплет из своего первого приложения, а затем cf push --droplet
для любое другое приложение. Это развернет каплю, которую вы загрузили из первого приложения, и повторно использует ее с различными конфигурациями (возможно, с использованием разных manifest.yml
файлов) для всех копий вашего приложения.
Надеюсь, это поможет!