2

我已经在本地 Kubernetes 集群上部署了 Spring Cloud Data Flow 服务器。一切似乎都很好。然后我创建一个类型为 的 App Task,给出 Spring-Boot JAR 的 URL。然后我创建一个任务“定义”并启动它。任务定义挂起状态为“正在启动”。

以下是我的发现:

  1. 查看 Kubernetes,我看到与正确创建但无法启动的任务对应的 pod,状态为ImagePullBackOff

  2. 此 pod 配置为image: /tmp/deployer-resource-cache5494152820122807128/https-60030cec0dd24157b95f59cd3e5b0819916e4adc,并且日志显示以下消息:

    Failed to pull image "/tmp/deployer-resource-cache5494152820122807128/https-60030cec0dd24157b95f59cd3e5b0819916e4adc": couldn't parse image reference "/tmp/deployer-resource-cache5494152820122807128/https-60030cec0dd24157b95f59cd3e5b0819916e4adc": invalid reference format

  3. 我连接到 SCDF 服务器 pod shell,检查/tmp文件夹,然后查看deployer-resource-cache5494152820122807128那里的文件夹。

我的理解是 SCDF 创建了一个要在 Kubernetes pod 中执行的临时图像,但是这个图像是在scdf服务器 pod 中创建的,所以它显然不能从任务 pod 中获得。

我的问题是这应该如何工作?

在我看来,图像应该被推送到注册表,或者以某种方式存储在共享卷上,但我在文档中没有找到任何关于该主题的内容。任何想法或建议将不胜感激。

4

1 回答 1

3

您尝试执行的操作不适用于 Spring Cloud Dataflow for Kubernetes。在 Kubernetes 实现中,仅支持将 Docker 映像作为部署工件。

目前,文档中没有明确提到这一事实。看看这个这个问题

于 2016-12-10T23:18:12.567 回答