kubernetesspring-cloud-streamspring-cloud-dataflowspring-cloud-taskspring-cloud-skipper

How to use static spring cloud stream url for launching spring cloud tasks?


Platform used : Kubernetes.

I have an issue with Spring cloud stream url. I am launching my spring cloud tasks using spring cloud stream. Streams are deployed in kubernetes platform. Stream contains http-kafka as source and taskLauncerKafka as sink. I used http-kafka kubernetes service url to launch tasks. Kubernetes service url changes after each deployment which causes problem.The changes in the service name after each stream deployment is difficult to manage. I have tried enabling loadbalacer also. In that case also external ip-address changed after each stream roll-out.

I am using skipper for managing the deployments. Every time stream is deployed stream version changes which also changes stream url.

In my case , I have multiple instances from where I can launch spring-cloud task. If the stream url changes I need to make changes in the configmap of the deployment project for all instance and need to redeploy all instance.

Any solution ? I am thinking of centralised configuration management using spring-cloud-config server or zookeeper. In this case also I need to update the url. I can avoid deploying multiple instances using centralised configuration management.

Skipper server version : 2.4.1.RELEASE
Dataflow server version : 2.5.1.RELEASE


Solution

  • Which version of SCDF/Skipper you are running? This looks similar to the issue https://github.com/spring-cloud/spring-cloud-skipper/issues/953 which was subsequently addressed in Skipper 2.6.0.