当前位置: 首页 > 知识库问答 >
问题:

Spring Cloud数据流:任务无法在Kubernetes集群上启动

黎奇略
2023-03-14

我已经在本地Kubernetes集群上部署了Spring Cloud Data Flow server。看起来一切都很好。然后创建一个task类型的应用程序,提供Spring-Boot jar的URL。然后我创建一个任务“定义”并启动它。任务定义挂起状态为“正在启动”。

以下是我的发现:

>

  • 查看Kubernetes,我看到与正确创建但未能启动的任务对应的a pod,状态为ImagePullBackoff

    此pod配置有image:/tmp/deployer-resource-cache5494152820122807128/https-60030CEC0DD24157B95F59CD3E5B0819916E4ADC,日志显示消息

    无法提取映像“/tmp/deployer-resource-cache5494152820122807128/https-60030CEC0DD24157B95F59CD3E5B0819916E4ADC”:无法分析映像引用“/tmp/deployer-resource-cache5494152820122807128/https-60030CEC0DD24157B95F59CD3E5B0819916E4ADC”:引用格式无效

    我连接到SCDF服务器pod shell,签出/tmp文件夹,并在那里查看deployer-resource-cache5494152820122807128文件夹。

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

    我的问题是这是怎么运作的?

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

  • 共有1个答案

    施恩
    2023-03-14

    您正在尝试的操作对于Spring Cloud Dataflow for Kubernetes是行不通的。在Kubernetes实现中,仅支持Docker映像作为部署工件。

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

     类似资料:
    • 启动没有参数的时间戳任务应用程序失败。来自Spring Cloud Data Flow Server的日志显示了以下堆栈跟踪:https://gist.github.com/anonymous/420f3928b7831a11b378fc6792be1ffc。 运行输出 则生成

    • 在使用 TiDB 集群的过程中,如果你发现某个 Pod 存在内存泄漏等问题,需要对集群进行重启,本文描述了如何优雅滚动重启 TiDB 集群内某个组件的所有 Pod 或通过优雅重启指令来将 TiDB 集群内某个 Pod 优雅下线然后再进行重新启动。 警告: 在生产环境中,未经过优雅重启而手动删除某个 TiDB 集群 Pod 节点是一件极其危险的事情,虽然 StatefulSet 控制器会将 Pod

    • 问题内容: 我正在尝试建立一个裸机k8s集群。 创建集群时,使用法兰绒插件( sudo kubeadm init –pod-network-cidr = 10.244.0.0 / 16 )-API服务器似乎甚至无法运行: 我已经禁用了swap,这就是我在日志中所拥有的: 当我做docker ps时,我看到api服务器甚至没有启动: 我当然也无法配置网络插件,因为API服务器已关闭: 我不确定如何继

    • 我在我的kubernetes集群上部署了RabbitMQ服务器,我能够从浏览器访问管理用户界面。但是我的Spring启动应用程序无法连接到端口5672,我收到连接拒绝错误。如果我将我的application.yml属性从kuberntes主机替换为localhost并在我的机器上运行docker映像,同样的代码也可以工作。我不确定我做错了什么? 有人试过这种设置吗?请帮帮忙。谢谢!

    • 我使用此处的说明在 VirtualBox 上创建了一个 3 节点 kubernetes 集群(1 个主 2 个工作线程)。我正在使用法兰绒作为覆盖网络。 我在安装过程中在主服务器上设置了< code > sysctl-w net . bridge . bridge-nf-call-iptables = 1 和< code > sysctl-w net . bridge . bridge-nf-ca

    • 本文档最初是基于kubenetes1.6版本编写的,对于kuberentes1.8及以上版本同样适用,只是个别位置有稍许变动,变动的地方我将特别注明版本要求。 本系列文档介绍使用二进制部署 kubernetes 集群的所有步骤,而不是使用 kubeadm 等自动化方式来部署集群,同时开启了集群的TLS安全认证,该安装步骤适用于所有bare metal环境、on-premise环境和公有云环境。 如