Spring Cloud Data Flow for Kubernetes 1.6

Install Spring Cloud Data Flow in the Tanzu Application Platform cluster

Last Updated February 15, 2025

This topic describes how to install Spring Cloud Data Flow (SCDF) in a Tanzu Application Platform (TAP) cluster.

First, install TAP using the full profile. See the TAP documentation.

Install SCDF in the TAP cluster

This example assumes:

  • You installed the SCDF system for Kubernetes using the Bitnami Helm chart.
  • The namespace was specified as scdf.
  • The service is installed on port 80 using LoadBalancer.
helm install scdf oci://registry-1.docker.io/bitnamicharts/spring-cloud-dataflow \
  --namespace scdf --create-namespace \
  --set server.service.type=LoadBalancer \
  --set server.service.ports.http=80

There is also a Carvel package that can be used to install Spring Cloud Data Flow on your TAP cluster.

After the LoadBalancer EXTERNAL-IP address has been assigned, you must capture it so that you can access the SCDF API and UI.

You can use the following command to see the assigned IP address:

kubectl get -n scdf svc/scdf-spring-cloud-dataflow-server

You should see something like this:

NAME                                TYPE           CLUSTER-IP     EXTERNAL-IP     PORT(S)        AGE
scdf-spring-cloud-dataflow-server   LoadBalancer   10.40.14.146   172.16.0.1      80:31044/TCP   1d

You can now set an environment variable in your terminal:

export SCDF_URL=http://172.16.0.1

Add the stream apps

To create a stream, you must have the stream apps that make up your stream registered with the SCDF server. There are two ways to do this:

  • Using the SCDF shell
  • Using the SCDF API server

First, register the Docker images for the time and log stream apps.

Using the SCDF shell

You can download the most recent shell Java JAR file, spring-cloud-dataflow-shell-2.11.5.jar, from Maven Central.

To start the shell, run:

java -jar ./spring-cloud-dataflow-shell-2.11.5.jar --dataflow.uri=$SCDF_URL

Where SCDF_URL was set in the previous section.

After the shell is up and running, register the two apps:

app register --name time --type source --uri docker:springcloudstream/time-source-rabbit:4.0.0 --bootVersion 3
app register --name log --type sink --uri docker:springcloudstream/log-sink-rabbit:4.0.0 --bootVersion 3

Using the SCDF API server

Using curl, run the following commands to register the two apps:

curl "$SCDF_URL/apps/source/time?bootVersion=3" -i -X POST \
    -d 'uri=docker%3Aspringcloudstream/time-source-rabbit%3A4.0.0'
curl "$SCDF_URL/apps/sink/log?bootVersion=3" -i -X POST \
    -d 'uri=docker%3Aspringcloudstream/log-sink-rabbit%3A4.0.0'

Next, create a supply chain for the SCDF streams. See Create a supply chain.