Search code examples
kubernetesspring-cloud-dataflow

Spring Cloud Dataflow Kubernetes - Stream External IP


Name: spring-cloud-dataflow-server Version: 2.2.0.RELEASE

Deployed a simple stream http|log and while deploy from dashboard set following for the 'http' app

spring.cloud.deployer.kubernetes.createLoadBalancer=true app.http.spring.cloud.deployer.kubernetes.createLoadBalancer=true

but still don't get External IP automatically. Any help appreciated.

Note: If manually change the type from ClusterIP to LoadBalancer in Http Service directly from kubernetes dashboard it works


Solution

  • When deploying a stream with deployer properties, you'd have to use the deployer prefix.

    For instance, consider the following stream.

    stream create task-stream --definition "http | task-launcher-dataflow --spring.cloud.dataflow.client.server-uri=http://192.168.99.139:30578 --platform-name=fooz"

    When deploying it, you can supply the deployer property to create a load-balancer for a particular app, which in this case is the http-source application.

    stream deploy task-stream --properties "deployer.http.kubernetes.createLoadBalancer=true"

    When deploying the same stream from the Dashboard, though, you'd have to supply it in the freeform textbox in the deployment page.

    deployer.http.kubernetes.createLoadBalancer=true