Here you will learn how to prepare dependencies and your local machine for the installation of VMware Spring Cloud® Data Flow for Kubernetes (SCDF for Kubernetes).
To download and extract the SCDF for Kubernetes installation resources, follow the steps below.
Visit the Broadcom Support portal and log in.
Navigate to the VMware Spring Cloud® Data Flow for Kubernetes product listing.
Download "Spring Cloud Data Flow for Kubernetes Legacy Installation". Place the downloaded file in a local directory of your choice.
Extract the contents of the data-flow-1.4.1.tgz
file:
$ tar xzvf data-flow-1.4.1.tgz
SCDF for Kubernetes relies on several container images. If you wish, you can re-locate these images to a different container image registry. Supported registries include Harbor, Google Container Registry (GCR), and DockerHub.
If you use Harbor as your container registry, ensure that Harbor is deployed in your environment and is accessible at a domain name of your choice. To deploy Harbor using Ops Manager, you can use the VMware Harbor Registry product.
To download and relocate the SCDF for Kubernetes installation images, follow the steps below.
Visit the Broadcom Support portal and log in.
Navigate to the VMware Spring Cloud® Data Flow for Kubernetes product listing.
Download "SCDF for Kubernetes installation images". Place the downloaded file in the same directory as the "Spring Cloud Data Flow for Kubernetes Legacy Installation" archive file described earlier.
Extract the contents of the data-flow-1.4.1.tgz
file:
$ tar xzvf data-flow-1.4.1.tgz
Use the Docker command-line interface (CLI) tool to authenticate to your registry.
Change to the extracted spring-cloud-data-flow
directory and run the image relocation script.
The script is in the bin
directory and is named relocate-image.sh
. It takes two arguments: --app
and --repository
. Its usage is described below.
Usage: ./bin/relocate-image.sh [-r|--repository <arg>] [-a|--app <arg>] [-h|--help]
-r, --repository: Import images into given image repository (no default)
-a, --app: Application to relocate, data-flow or skipper (default: data-flow)
-h, --help: Prints help
To relocate the Data Flow server image, run the following command:
$ ./bin/relocate-image.sh --app data-flow --repository <registry-repo-prefix>/spring-cloud-dataflow-server
To relocate the Composed Task Runner image, run the following command:
$ ./bin/relocate-image.sh --app composed-task-runner --repository <registry-repo-prefix>/spring-cloud-dataflow-composed-task-runner
To relocate the Skipper server image, run the following command:
$ ./bin/relocate-image.sh --app skipper --repository <registry-repo-prefix>/spring-cloud-skipper-server
The relocation script updates the kustomization.yaml
files to match the new relocated image repository locations.
If you wish, you can replace the SCDF for Kubernetes container images with your own custom-built images.
To use these custom-built images, you must replace image references in some of the configuration files. See the following sections for more information.
To replace the image used for the Data Flow server, you must edit:
apps/data-flow/kustomize/overlays/production/kustomization.yaml
file, for the production environmentapps/data-flow/kustomize/overlays/dev/kustomization.yaml
file, for the development environmentIn both files, locate the images
section and change the newName
, newTag
, and digest
entries to match your custom image. See the following example.
images:
- name: springcloud/spring-cloud-dataflow-server # used for Kustomize matching
newName: registry.example.com/my-project/scdf-pro-server
newTag: my-1.4.2
digest: sha256:c63d57e7f70130c97aaf605f17130a28a658f7cc29ea37a2bd1c5b21e59c6c74
configMapGenerator:
- name: scdf-server
files:
- bootstrap.yaml
- application.yaml
bases:
- ../../base
patches:
- deployment-patch.yaml
- service-patch.yaml
The digest
must match the digest of your custom image. If you want the image to be pulled by the tag, remove the digest
line.
To replace the image used for the Composed Task Runner, you must edit:
apps/data-flow/kustomize/overlays/production/application.yaml
file, for the production environmentapps/data-flow/kustomize/overlays/dev/application.yaml
file, for the development environmentIn both files, change the spring.cloud.dataflow.task.composedTaskRunnerUri
entry to match your custom image. The value should be prefixed with docker://
. See the following example.
spring:
cloud:
config:
enabled: false
dataflow:
server:
uri: http://${SCDF_SERVER_SERVICE_HOST}:${SCDF_SERVER_SERVICE_PORT}
features:
schedules-enabled: true
task:
composedtaskrunner:
uri: docker://registry.example.com/my-project/spring-cloud-dataflow-composed-task-runner:my-2.9.2
...
You can provide either a tag or a digest that matches your custom image.
To replace the image used for the Skipper server, you must edit:
apps/skipper/kustomize/overlays/production/kustomization.yaml
file, for the production environmentapps/skipper/kustomize/overlays/dev/kustomization.yaml
file, for the development environmentIn both files, locate the images
section and change the newName
, newTag
, and digest
entries to match your custom image. See the following example.
images:
- name: springcloud/spring-cloud-skipper-server # used for Kustomize matching
newName: registry.example.com/my-project/spring-cloud-skipper-server
newTag: my-2.8.2
digest: sha256:327181e455b869dce61e05b53cec493e054a3bfb1788576eab39a7ca3eebfe5e
configMapGenerator:
- name: skipper
files:
- bootstrap.yaml
- application.yaml
bases:
- ../../base
patches:
- deployment-patch.yaml
- service-patch.yaml
The digest
must match the digest of your custom image. If you want the image to be pulled by the tag, remove the digest
line.
To install SCDF for Kubernetes, your Linux or macOS machine must have the following command-line tools installed:
kubectl
, the Kubernetes CLI (for more information about installing kubectl
, see Installing the Kubernetes CLI in the VMware Enterprise PKS documentation)kapp
kbld
yq
sed
(should already be installed on your machine)To continue with the installation of SCDF for Kubernetes, see Installing Command-Line Tools.