У меня есть сервер Spring Cloud Data Flow (SCDF)
, работающий на Kubernetes cluster
с Kafka
в качестве брокера сообщений. Сейчас пытаюсь запустить Spring Cloud Task (SCT)
который пишет в тему в Kafka
. Я бы хотел, чтобы SCT использовал тот же Kafka
, что и SCDF
. Это поднимает два вопроса, которые у меня есть, и я надеюсь, что на них можно ответить:
- Как настроить SCT для использования той же Kafka, что и SCDF?
- Можно ли настроить SCT таким образом, чтобы uri сервера Kafka автоматически передавались в SCT при его запуске, аналогично свойствам источника данных, которые передаются в SCT при запуске?
Поскольку я не смог найти примеров того, как этого добиться, помощь очень ценится.
Изменить: мой собственный ответ
Вот как я заставляю это работать для моего случая. Для моего SCT требуется указать spring.kafka.bootstrap-servers
. В оболочке SCDF я передаю его в качестве аргумента --spring.kafka.bootstrap-servers=${KAFKA_SERVICE_HOST}:${KAFKA_SERVICE_PORT}
, где KAFKA_SERVICE_HOST
и KAFKA_SERVICE_PORT
— переменные среды, созданные сценарием установки SCDF k8s.
Вот как запустить задачу в оболочке SCDF
dataflow:>task launch --name sample-task --arguments "--spring.kafka.bootstrap-servers=${KAFKA_SERVICE_HOST}:${KAFKA_SERVICE_PORT}"