我已经在本地 Kubernetes 集群上部署了 Spring Cloud Data Flow 服务器。一切似乎都很好。然后我创建一个类型为 的 App Task
,给出 Spring-Boot JAR 的 URL。然后我创建一个任务“定义”并启动它。任务定义挂起状态为“正在启动”。
以下是我的发现:
查看 Kubernetes,我看到与正确创建但无法启动的任务对应的 pod,状态为
ImagePullBackOff
此 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
我连接到 SCDF 服务器 pod shell,检查
/tmp
文件夹,然后查看deployer-resource-cache5494152820122807128
那里的文件夹。
我的理解是 SCDF 创建了一个要在 Kubernetes pod 中执行的临时图像,但是这个图像是在scdf服务器 pod 中创建的,所以它显然不能从任务 pod 中获得。
我的问题是这应该如何工作?
在我看来,图像应该被推送到注册表,或者以某种方式存储在共享卷上,但我在文档中没有找到任何关于该主题的内容。任何想法或建议将不胜感激。