在 Kubernetes 上部署任务应用程序
本指南介绍如何使用 Spring Cloud Data Flow 在 Kubernetes 上部署和运行一个简单的 spring-cloud-task 应用程序。
我们将部署示例 billsetuptask 应用程序到 Kubernetes。
在 Kubernetes 集群上设置 SCDF
对于本指南,我们需要一个运行着 已部署 Spring Cloud Data Flow 的 Kubernetes 集群。在本例中,我们使用 minikube
。
验证 Spring Cloud Data Flow 是否正在运行
当 SCDF 在 Kubernetes 上运行时,您应该会看到 scdf-server
pod 处于 Running
状态,并且已创建关联的服务。您可以使用以下命令(显示典型输出)来查看 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
注意:在 Minikube 上,service
的 EXTRNAL-IP = <pending>
是正常的。
为示例任务应用程序构建 Docker 镜像
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
- 使用自述文件中的说明构建项目。
- 导航到
billsetuptask
目录 - 运行以下命令以构建 Docker 镜像
eval $(minikube docker-env)
./mvnw spring-boot:build-image -Dspring-boot.build-image.imageName=springcloudtask/billsetuptask:0.0.1-SNAPSHOT
这些命令将镜像添加到 minikube
Docker 注册表。
-
通过运行以下命令在提供的镜像列表中查找
springcloudtask/billsetuptask
来验证其存在docker images
使用数据流注册、创建和启动任务
我们使用 数据流仪表板
来设置和启动 billsetuptask
应用程序。
首先,我们需要获取 SCDF 服务器 URL,我们可以使用以下命令执行此操作(列表包含输出)
minikube service --url scdf-server
http://192.168.99.100:30403
现在,您可以按照说明 使用数据流注册和启动任务应用程序,使用我们刚刚构建的 Docker 镜像来注册应用程序。