附录

在使用 Spring Cloud Data Flow 时遇到问题了吗?我们很乐意为您提供帮助!spring-doc.cadn.net.cn

附录 A:数据流模板

如 API 指南章节所述,Spring Cloud Data Flow 的所有功能都通过 REST 端点完全暴露出来。 虽然你可以直接使用这些端点,但 Spring Cloud Data Flow 还提供了一个基于 Java 的 API,使得使用这些 REST 端点更加简便。spring-doc.cadn.net.cn

核心入口点是 DataFlowTemplate 包中的 org.springframework.cloud.dataflow.rest.client 类。spring-doc.cadn.net.cn

该类实现了 DataFlowOperations 接口,并委托给以下子模板,这些子模板为每个功能集提供具体的功能:spring-doc.cadn.net.cn

接口 描述

StreamOperationsspring-doc.cadn.net.cn

用于流操作的 REST 客户端spring-doc.cadn.net.cn

CounterOperationsspring-doc.cadn.net.cn

用于计数器操作的 REST 客户端spring-doc.cadn.net.cn

FieldValueCounterOperationsspring-doc.cadn.net.cn

用于字段值计数器操作的 REST 客户端spring-doc.cadn.net.cn

AggregateCounterOperationsspring-doc.cadn.net.cn

用于聚合计数器操作的 REST 客户端spring-doc.cadn.net.cn

TaskOperationsspring-doc.cadn.net.cn

用于任务操作的 REST 客户端spring-doc.cadn.net.cn

JobOperationsspring-doc.cadn.net.cn

用于作业操作的 REST 客户端spring-doc.cadn.net.cn

AppRegistryOperationsspring-doc.cadn.net.cn

用于应用注册表操作的 REST 客户端spring-doc.cadn.net.cn

CompletionOperationsspring-doc.cadn.net.cn

用于补全操作的 REST 客户端spring-doc.cadn.net.cn

RuntimeOperationsspring-doc.cadn.net.cn

用于运行时操作的 REST 客户端spring-doc.cadn.net.cn

DataFlowTemplate 初始化时,子模板可以通过 HATEOAS(Hypermedia as the Engine of Application State,超媒体作为应用状态的引擎)所提供的 REST 关系被自动发现。spring-doc.cadn.net.cn

如果某个资源无法解析,则相应的子模板将返回 NULL。一个常见的原因是,Spring Cloud Data Flow 在启动时允许启用或禁用特定的功能集。有关更多信息,请参阅与您部署应用程序的平台相对应的本地Cloud FoundryKubernetes 配置章节。

A.1. 使用数据流模板

当你使用数据流模板(Data Flow Template)时,唯一需要的数据流依赖是 Spring Cloud Data Flow REST 客户端,如下列 Maven 代码片段所示:spring-doc.cadn.net.cn

<dependency>
  <groupId>org.springframework.cloud</groupId>
  <artifactId>spring-cloud-dataflow-rest-client</artifactId>
  <version>2.10.4-SNAPSHOT</version>
</dependency>

通过该依赖,您将获得 DataFlowTemplate 类以及向 Spring Cloud Data Flow 服务器发起调用所需的所有依赖项。spring-doc.cadn.net.cn

在实例化 DataFlowTemplate 时,您还需要传入一个 RestTemplate。 请注意,此处所需的 RestTemplate 需要进行一些额外的配置,才能在 DataFlowTemplate 的上下文中有效。 当将 RestTemplate 声明为 Bean 时,以下配置就已足够:spring-doc.cadn.net.cn

  @Bean
  public static RestTemplate restTemplate() {
    RestTemplate restTemplate = new RestTemplate();
    restTemplate.setErrorHandler(new VndErrorResponseErrorHandler(restTemplate.getMessageConverters()));
    for(HttpMessageConverter<?> converter : restTemplate.getMessageConverters()) {
      if (converter instanceof MappingJackson2HttpMessageConverter) {
        final MappingJackson2HttpMessageConverter jacksonConverter =
            (MappingJackson2HttpMessageConverter) converter;
        jacksonConverter.getObjectMapper()
            .registerModule(new Jackson2HalModule())
            .addMixIn(JobExecution.class, JobExecutionJacksonMixIn.class)
            .addMixIn(JobParameters.class, JobParametersJacksonMixIn.class)
            .addMixIn(JobParameter.class, JobParameterJacksonMixIn.class)
            .addMixIn(JobInstance.class, JobInstanceJacksonMixIn.class)
            .addMixIn(ExitStatus.class, ExitStatusJacksonMixIn.class)
            .addMixIn(StepExecution.class, StepExecutionJacksonMixIn.class)
            .addMixIn(ExecutionContext.class, ExecutionContextJacksonMixIn.class)
            .addMixIn(StepExecutionHistory.class, StepExecutionHistoryJacksonMixIn.class);
      }
    }
    return restTemplate;
  }
你也可以通过使用 RestTemplate 来获取一个预配置好的 DataFlowTemplate.getDefaultDataflowRestTemplate();

现在你可以使用以下代码实例化 DataFlowTemplatespring-doc.cadn.net.cn

DataFlowTemplate dataFlowTemplate = new DataFlowTemplate(
    new URI("http://localhost:9393/"), restTemplate);         (1)
1 URI 指向您的 Spring Cloud Data Flow 服务器的根目录。

根据您的需求,现在可以向服务器发起调用。例如, 如果您想获取当前可用应用程序的列表,可以运行以下代码:spring-doc.cadn.net.cn

PagedResources<AppRegistrationResource> apps = dataFlowTemplate.appRegistryOperations().list();

System.out.println(String.format("Retrieved %s application(s)",
    apps.getContent().size()));

for (AppRegistrationResource app : apps.getContent()) {
  System.out.println(String.format("App Name: %s, App Type: %s, App URI: %s",
    app.getName(),
    app.getType(),
    app.getUri()));
}

A.2. 数据流模板与安全性

使用 DataFlowTemplate 时,您也可以提供所有与安全相关的选项,就像使用 Data Flow Shell 一样。事实上,Data Flow Shell 的所有操作都是通过 DataFlowTemplate 来完成的。spring-doc.cadn.net.cn

为了帮助您快速上手,我们提供了一个 HttpClientConfigurer,它使用构建器模式来设置各种与安全相关的选项:spring-doc.cadn.net.cn

	HttpClientConfigurer
		.create(targetUri)                                             (1)
		.basicAuthCredentials(username, password)                      (2)
		.skipTlsCertificateVerification()                              (3)
		.withProxyCredentials(proxyUri, proxyUsername, proxyPassword)  (4)
		.addInterceptor(interceptor)                                   (5)
		.buildClientHttpRequestFactory()                               (6)
1 使用提供的目标 URI 创建一个 HttpClientConfigurer。
2 设置基本身份验证的凭据(使用 OAuth2 密码授权)
3 跳过SSL证书验证(仅限开发环境使用!
4 配置任意代理设置
5 添加一个自定义拦截器,例如用于设置 OAuth2 授权头。这允许你传递 OAuth2 访问Tokens,而不是使用用户名/密码凭据。
6 构建可设置到 ClientHttpRequestFactory 上的 RestTemplate

一旦配置好 HttpClientConfigurer,您就可以使用其 buildClientHttpRequestFactory 方法来构建 ClientHttpRequestFactory,然后将该工厂设置到 RestTemplate 的相应属性上。接着,您就可以使用该 DataFlowTemplate 来实例化实际的 RestTemplatespring-doc.cadn.net.cn

要配置基本认证,需要进行以下设置:spring-doc.cadn.net.cn

	RestTemplate restTemplate = DataFlowTemplate.getDefaultDataflowRestTemplate();
	HttpClientConfigurer httpClientConfigurer = HttpClientConfigurer.create("http://localhost:9393");

	httpClientConfigurer.basicAuthCredentials("my_username", "my_password");
	restTemplate.setRequestFactory(httpClientConfigurer.buildClientHttpRequestFactory());

	DataFlowTemplate dataFlowTemplate = new DataFlowTemplate("http://localhost:9393", restTemplate);

附录 B:“操作指南”

本节提供了一些常见“如何实现……”问题的解答,这些问题通常在人们使用 Spring Cloud Data Flow 时会出现。spring-doc.cadn.net.cn

如果你遇到一个我们此处未涵盖的具体问题,可以前往 stackoverflow.com 查看是否已有人提供了答案。 那里也是提出新问题的好地方(请使用 spring-cloud-dataflow 标签)。spring-doc.cadn.net.cn

我们也非常乐意扩展这一部分内容。如果您想添加一篇“操作指南”,可以向我们提交一个拉取请求spring-doc.cadn.net.cn

B.1. 配置 Maven 属性

您可以在启动 Data Flow 服务器时,通过命令行属性来设置 Maven 属性,例如本地 Maven 仓库位置、远程 Maven 仓库、认证凭据以及代理服务器属性。 或者,您也可以通过为 Data Flow 服务器设置 SPRING_APPLICATION_JSON 环境变量来配置这些属性。spring-doc.cadn.net.cn

如果应用程序是通过 Maven 仓库进行解析的,则需要显式配置远程 Maven 仓库。 此规则的唯一例外是 local(本地)Data Flow 服务器安装,它已经预先配置了 Maven Central 和 Spring Artifactory 远程仓库。 其他(non-local,非本地)服务器安装则没有为远程仓库设置默认值。spring-doc.cadn.net.cn

如果你配置了自己的远程仓库,请务必添加 Maven Central(repo.maven.apache.org/maven2),因为它不会自动为你添加。

要将属性作为命令行选项传递,请使用类似于以下的命令运行服务器:spring-doc.cadn.net.cn

$ java -jar <dataflow-server>.jar --maven.localRepository=mylocal
--maven.remote-repositories.repo1.url=https://repo1
--maven.remote-repositories.repo1.auth.username=repo1user
--maven.remote-repositories.repo1.auth.password=repo1pass
--maven.remote-repositories.repo2.url=https://repo2 --maven.proxy.host=proxyhost
--maven.proxy.port=9018 --maven.proxy.auth.username=proxyuser
--maven.proxy.auth.password=proxypass

你也可以使用 SPRING_APPLICATION_JSON 环境属性:spring-doc.cadn.net.cn

export SPRING_APPLICATION_JSON='{ "maven": { "local-repository": "local","remote-repositories": { "repo1": { "url": "https://repo1", "auth": { "username": "repo1user", "password": "repo1pass" } },
"repo2": { "url": "https://repo2" } }, "proxy": { "host": "proxyhost", "port": 9018, "auth": { "username": "proxyuser", "password": "proxypass" } } } }'

以下是同样内容的格式化 JSON:spring-doc.cadn.net.cn

SPRING_APPLICATION_JSON='{
  "maven": {
    "local-repository": "local",
    "remote-repositories": {
      "repo1": {
        "url": "https://repo1",
        "auth": {
          "username": "repo1user",
          "password": "repo1pass"
        }
      },
      "repo2": {
        "url": "https://repo2"
      }
    },
    "proxy": {
      "host": "proxyhost",
      "port": 9018,
      "auth": {
        "username": "proxyuser",
        "password": "proxypass"
      }
    }
  }
}'
根据 Spring Cloud Data Flow 服务器的具体实现,您可能需要使用平台特定的环境变量设置功能来传递环境属性。例如,在 Cloud Foundry 中,您可以通过 cf set-env SPRING_APPLICATION_JSON 来传递这些属性。

B.2. 故障排除

本节介绍如何在您选择的平台上对 Spring Cloud Data Flow 进行故障排查。请参阅微网站中关于流处理批处理的故障排查部分。spring-doc.cadn.net.cn

B.3. 扩展应用程序类路径

用户可能需要向现有的 Stream 应用程序中添加依赖项,或为 Dataflow 和 Skipper(或项目提供的其他任何容器)添加特定的数据库驱动程序。spring-doc.cadn.net.cn

Spring Cloud Dataflow 仓库包含用于协助完成此任务的脚本。以下示例假定您已克隆了 spring-cloud-dataflow 仓库,并且正在从 src/templates/add-deps 目录下执行这些脚本。

B.3.1. 容器

为了向现有容器中添加依赖项,将采取以下步骤。spring-doc.cadn.net.cn

环境变量
示例
export CONTAINER_REPO="springcloud/spring-cloud-dataflow-server"
export CONTAINER_TAG="2.9.5-jdk17"
export PRIVATE_REGISTRY="our.private.registry"
export DEPS_FOLDER="./extra-libs/"
docker build -f Dockerfile -t "$PRIVATE_REGISTRY/$CONTAINER_REPO:$CONTAINER_TAG"
docker push "$PRIVATE_REGISTRY/$CONTAINER_REPO:$CONTAINER_TAG"
如上所述,Dockerfile 位于 spring-cloud-dataflow 仓库的 src/templates/add-deps 目录下。

B.3.2. JAR 文件

在使用 CloudFoundry 或本地部署时,您需要在将 JAR 发布到私有仓库或 Maven 本地仓库之前对其进行更新。spring-doc.cadn.net.cn

例举

此示例添加了依赖项,然后将 jar 安装到 Maven 本地仓库。spring-doc.cadn.net.cn

./gradlew -i publishToMavenLocal \
    -P appFolder="." \
    -P appGroup="org.springframework.cloud" \
    -P appName="spring-cloud-dataflow-server" \
    -P appVersion="2.9.5" \
    -P depFolder="./extra-libs"
使用 publishMavenPublicationToMavenRepository 任务将构件发布到远程仓库。请在 gradle.properties 文件中更新远程仓库的详细信息。或者,也可以将 repoUserrepoPassword 移至 ~/.gradle/gradle.properties 文件中。

B.4. 为尚不支持的架构创建容器。

对于搭载 M1 芯片的 macOS 系统而言,amd64/x86_64 架构的性能是不可接受的。 我们提供了一组脚本,可用于下载已发布制品的特定版本。 我们还提供了一个脚本,该脚本将使用为主机平台下载的制品创建一个容器。 您可以在各个项目的 src/locallocal 文件夹中找到这些脚本。spring-doc.cadn.net.cn

项目 脚本 注释

数据流spring-doc.cadn.net.cn

src/local/download-apps.sh
src/local/create-containers.sh
spring-doc.cadn.net.cn

下载或创建以下容器:spring-cloud-dataflow-server
spring-cloud-dataflow-composed-task-runner,
spring-cloud-dataflow-single-step-batch-job,
spring-cloud-dataflow-tasklauncher-sink-kafka,
spring-cloud-dataflow-tasklauncher-sink-rabbit
spring-doc.cadn.net.cn

Skipperspring-doc.cadn.net.cn

local/download-app.sh
local/create-container.shspring-doc.cadn.net.cn

下载或创建 spring-cloud-skipper-server 的容器spring-doc.cadn.net.cn

流式应用spring-doc.cadn.net.cn

local/download-apps.sh
local/create-containers.sh
local/pack-containers.shspring-doc.cadn.net.cn

create-containers.sh使用jib
pack-containers.sh使用packspring-doc.cadn.net.cn

B.4.1. spring-cloud-dataflow 中的脚本

src/local/download-apps.sh

从 Maven 仓库下载 create-containers.sh 所需的所有应用程序。spring-doc.cadn.net.cn

如果快照的时间戳匹配,则将跳过下载。spring-doc.cadn.net.cn

用法:download-apps.sh [version]spring-doc.cadn.net.cn

  • version 是 dataflow-server 的版本,例如 2.9.6。默认值为 2.10.4-SNAPSHOTspring-doc.cadn.net.cn

src/local/create-containers.sh

创建所有容器并推送到本地 Docker 注册表。spring-doc.cadn.net.cn

用法:create-containers.sh [version] [jre-version]spring-doc.cadn.net.cn

B.4.2. spring-cloud-skipper 中的脚本

local/download-app.sh

从 Maven 仓库下载 create-containers.sh 所需的所有应用程序。spring-doc.cadn.net.cn

如果快照的时间戳匹配,则将跳过下载。spring-doc.cadn.net.cn

用法:download-app.sh [version]spring-doc.cadn.net.cn

local/create-container.sh

创建所有容器并推送到本地 Docker 注册表。 此脚本需要 jib-clispring-doc.cadn.net.cn

用法:create-containers.sh [version] [jre-version]spring-doc.cadn.net.cn

B.4.3. stream-applications 中的脚本

local/download-apps.sh

从 Maven 仓库下载 create-containers.sh 所需的所有应用程序。spring-doc.cadn.net.cn

如果快照的时间戳匹配,则将跳过下载。spring-doc.cadn.net.cn

用法:download-apps.sh [version] [broker] [filter]spring-doc.cadn.net.cn

local/create-containers.sh

创建所有容器并推送到本地 Docker 注册表。spring-doc.cadn.net.cn

用法:create-containers.sh [version] [broker] [jre-version] [filter]spring-doc.cadn.net.cn

如果创建容器所需的文件不存在,脚本将跳过该容器。spring-doc.cadn.net.cn

local/pack-containers.sh

创建所有容器并推送到本地 Docker 注册表。spring-doc.cadn.net.cn

用法:pack-containers.sh [version] [broker] [jre-version] [filter]spring-doc.cadn.net.cn

如果缺少创建容器所需的文件,脚本将跳过该容器。spring-doc.cadn.net.cn

如果提供了任意参数,则其左侧的所有参数都应视为必填项。

B.5. 为本地开发或测试配置 Kubernetes

B.5.1. 前提条件

您需要先安装 kubectl,然后安装 kind 或 minikube 来创建一个本地集群。spring-doc.cadn.net.cn

所有示例均假设您已克隆了 spring-cloud-dataflow 代码仓库,并且正在从 src/local/k8s 目录下执行脚本。spring-doc.cadn.net.cn

在 macOS 上,你可能需要通过 MacPorts 安装 https://ports.macports.org/port/realpath/,或者运行 brew install realpathspring-doc.cadn.net.cn

这些脚本需要像 bashzsh 这样的 shell,并且应该可以在 Linux、WSL 2 或 macOS 上运行。

B.5.2. 步骤

Kubernetes 提供商

我该如何在 Minikube 和 Kind 之间进行选择?通常来说,Kind 的启动和销毁速度比 Minikube 更快。除了在部署 Minikube 时可以配置 CPU 和内存限制外,两者在性能方面几乎没有差别。因此,如果你的系统存在内存限制,或者需要强制实施内存限制,那么 Minikube 将是更好的选择。spring-doc.cadn.net.cn

Kubectl

您需要安装 kubectl 以便配置 Kubernetes 集群spring-doc.cadn.net.cn

类型

Kind 是在 Docker 中运行的 Kubernetes,非常适合本地开发。spring-doc.cadn.net.cn

LoadBalancer 将由 configure-k8s.sh 脚本安装,但需要更新一个 YAML 文件,以提供 LoadBalancer 可用的地址范围。spring-doc.cadn.net.cn

Minikube

Minikube 使用所选的其中一种驱动程序来提供虚拟化环境。spring-doc.cadn.net.cn

如果你已安装 Minikube,请先删除现有安装。minikube delete

B.5.3. 构建和加载容器。

在本地开发时,您需要控制本地环境中使用的容器。spring-doc.cadn.net.cn

为了确保管理数据流(Data Flow)和 Skipper 容器的特定版本,您可以设置 SKIPPER_VERSION 和 DATAFLOW_VERSION 环境变量,然后执行 ./pull-dataflow.sh./pull-skipper.sh;或者,如果您希望使用本地构建的应用程序,可以执行 ./build-skipper-image.sh./build-dataflow.shspring-doc.cadn.net.cn

B.5.4. 配置 k8s 环境

您可以调用以下脚本之一,以选择您要进行的安装类型:spring-doc.cadn.net.cn

use-kind.sh [<namespace>] [<database>] [<broker>]
use-mk-docker.sh [<namespace>] [<database>] [<broker>]
use-mk-kvm2.sh [<namespace>] [<database>] [<broker>]
use-mk.sh <driver> [<namespace>] [<database>] [<broker>] (1)
use-tmc.sh <cluster-name> [<namespace>] [<database>] [<broker>]
use-gke.sh <cluster-name> [<namespace>] [<database>] [<broker>]
1 <driver> 必须是 kvm2dockervmwarevirtualboxvmwarefusionhyperkit 中的一个。docker 是本地开发的推荐选项。
如果未提供 <namespace>,则其值将为 default。默认的 <database>postgresql,默认的 <broker>kafka

由于这些脚本会导出环境变量,因此需要按照以下示例的方式执行:spring-doc.cadn.net.cn

source ./use-mk-docker.sh test-ns postgresql rabbitmq
云中的 TMC 或 GKE 集群

在使用之前,集群必须已存在,并且您应在执行 source ./use-gke.sh 之前使用相应的 CLI 登录。spring-doc.cadn.net.cn

创建本地集群。

以下脚本将创建本地集群。spring-doc.cadn.net.cn

./configure-k8s.sh
  • 对于 kind,请按照说明更新 src/local/k8s/yaml/metallb-configmap.yaml 文件,然后使用 kubectl apply -f src/local/k8s/yaml/metallb-configmap.yaml 命令进行应用。spring-doc.cadn.net.cn

  • 对于 minikube,请启动一个新的 shell 并执行 minikube tunnelspring-doc.cadn.net.cn

部署 Spring Cloud Data Flow。
配置 Broker
export BROKER=<broker> (1)
1 <broker> 可选值为 kafkarabbitmq
配置数据库
export DATABASE=<database> (1)
1 <database> 可选值为 mariadbpostgresql
这仍然是可选的,PostgreSQL 支持尚不可用,但很快就会推出。
./install-scdf.sh
source ./export-dataflow-ip.sh
从集群中删除该部署。
./delete-scdf.sh
删除集群

如果已配置 TMC 集群,此脚本也会将其删除。spring-doc.cadn.net.cn

./destroy-k8s.sh

B.5.5. 工具类

以下实用工具列表可能会有所帮助。spring-doc.cadn.net.cn

姓名 描述

k9sspring-doc.cadn.net.cn

k9s 是一个基于文本的监控工具,用于探索 Kubernetes 集群。spring-doc.cadn.net.cn

kailspring-doc.cadn.net.cn

根据不同的命名条件,额外输出并实时跟踪各种 Pod 的日志。spring-doc.cadn.net.cn

kail
kail --label=spring-group-id=<stream-name>
kail --ns=<namespace>

B.5.6. 脚本

部分脚本也适用于本地容器,可在 src/local 中找到;特定于 Kubernetes 的脚本位于 src/local/k8sspring-doc.cadn.net.cn

脚本 描述

build-app-images.shspring-doc.cadn.net.cn

构建餐厅示例流应用的所有镜像spring-doc.cadn.net.cn

pull-app-images.shspring-doc.cadn.net.cn

从 Docker Hub 拉取 Restaurant Sample Stream Apps 的所有镜像spring-doc.cadn.net.cn

pull-dataflow.shspring-doc.cadn.net.cn

根据 DATAFLOW_VERSION 从 DockerHub 拉取 dataflow。spring-doc.cadn.net.cn

pull-scdf-pro.shspring-doc.cadn.net.cn

根据 SCDF_PRO_VERSION 从 Tanzu Network 拉取 Dataflow Pro。spring-doc.cadn.net.cn

pull-skipper.shspring-doc.cadn.net.cn

从 DockerHub 拉取基于 SKIPPER_VERSION 的 Skipper 镜像。spring-doc.cadn.net.cn

build-dataflow-image.shspring-doc.cadn.net.cn

从 Dataflow 的本地仓库构建一个 Docker 镜像spring-doc.cadn.net.cn

build-scdf-pro-image.shspring-doc.cadn.net.cn

从 Dataflow Pro 的本地仓库构建一个 Docker 镜像。在环境中设置 USE_PRO=true 以使用 Dataflow Pro。spring-doc.cadn.net.cn

build-skipper-image.shspring-doc.cadn.net.cn

从 Skipper 的本地仓库构建一个 Docker 镜像。spring-doc.cadn.net.cn

configure-k8s.shspring-doc.cadn.net.cn

根据您对 K8S_DRIVER 的配置来设置 Kubernetes 环境。spring-doc.cadn.net.cn

delete-scdf.shspring-doc.cadn.net.cn

删除该部署所创建的所有 Kubernetes 资源。spring-doc.cadn.net.cn

destroy-k8s.shspring-doc.cadn.net.cn

删除 cluster、kind 或 minikube。spring-doc.cadn.net.cn

export-dataflow-ip.shspring-doc.cadn.net.cn

将数据流服务器的 URL 导出为 DATAFLOW_IPspring-doc.cadn.net.cn

export-http-url.shspring-doc.cadn.net.cn

按名称导出特定流的 HTTP 源 URL 到 HTTP_APP_URLspring-doc.cadn.net.cn

install-scdf.shspring-doc.cadn.net.cn

配置并部署 Spring Cloud Data Flow 的所有容器spring-doc.cadn.net.cn

load-images.shspring-doc.cadn.net.cn

将测试所需的所有容器镜像加载到 kind 或 minikube 中,以确保你能够控制所使用的内容。spring-doc.cadn.net.cn

load-image.shspring-doc.cadn.net.cn

将指定的容器镜像加载到本地的 kind 或 minikube 中。spring-doc.cadn.net.cn

local-k8s-acceptance-tests.shspring-doc.cadn.net.cn

DATAFLOW_IP 所指向的集群执行验收测试。spring-doc.cadn.net.cn

register-apps.shspring-doc.cadn.net.cn

注册单元测试所使用的任务(Task)和流(Stream)应用。spring-doc.cadn.net.cn

请报告脚本中的任何错误,并附上相关环境的详细信息。

B.6. 常见问题

在本节中,我们将回顾 Spring Cloud Data Flow 的常见问题。 更多信息请参见微网站的常见问题部分。spring-doc.cadn.net.cn