Deploying a Task Application in Kubernetes
This guide walks through how to deploy and run a simple spring-cloud-task application on Kubernetes by using Spring Cloud Data Flow.
We deploy the sample billsetuptask application to Kubernetes.
Setting up SCDF the Kubernetes Cluster
For this guide, we need a running Kubernetes cluster with Spring Cloud Data Flow deployed. For this example, we use minikube
.
Verifying that Spring Cloud Data Flow is Running
When SCDF is running on Kubernetes, you should see the scdf-server
pod in a Running
state and the associated service created.
You can use the following command (shown with typical output) to see the scdf-server
:
kubectl get all -l app=scdf-server
NAME READY STATUS RESTARTS AGE
pod/scdf-server-65789665d-79hrz 1/1 Running 0 5m39s
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/scdf-server LoadBalancer 10.109.181.91 <pending> 80:30403/TCP 5m39s
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/scdf-server 1/1 1 1 5m39s
NAME DESIRED CURRENT READY AGE
replicaset.apps/scdf-server-65789665d 1 1 1 5m39s
NOTE: On Minikube, EXTRNAL-IP = <pending>
for the service
is normal.
Building a Docker Image for the Sample Task Application
- Clone or download the dataflow samples git repo and navigate to the
batchsamples
directory. You can download the batch samples project from your browser or run the following command to download it from the command-line:
wget "https://github.com/spring-cloud/spring-cloud-dataflow-samples/blob/main/dataflow-website/batch-developer-guides/batch/batchsamples/dist/batchsamples.zip?raw=true" -O batchsamples.zip
- Build The project using the instructions from the readme file.
- Navigate to the
billsetuptask
directory - Run the following commands to build the docker image:
eval $(minikube docker-env)
./mvnw spring-boot:build-image -Dspring-boot.build-image.imageName=springcloudtask/billsetuptask:0.0.1-SNAPSHOT
These commands add the image to the minikube
Docker registry.
-
Verify its presence by finding
springcloudtask/billsetuptask
in the list of images provided by running the following command:docker images
Registering, Creating, and Launching the Task by Using Data Flow
We use the Data Flow Dashboard
to set up and launch the billsetuptask
application.
First, we need to get the SCDF Server URL, which we can do with the following command (the listing includes the output):
minikube service --url scdf-server
http://192.168.99.100:30403
Now you can follow the instructions to register and launch a task application using Data Flow, using the docker image we just built to register the application.