Spring Cloud Data Flow 流无法部署在 Kubernetes 中

标签 spring azure kubernetes apache-kafka spring-cloud-dataflow

我关注了how to install Spring Cloud Data Flow 使用 kubectl 在 Azure Kubernetes 集群上安装应用程序的指南。我使用 Kafka 作为消息代理,并创建了一个简单的流,time |日志

流无法部署,我附上我无法完全理解的日志。

PS kubectl get pods
NAME                                   READY   STATUS    RESTARTS   AGE
grafana-7d7d77d54-m59dx                1/1     Running   0          5h36m
kafka-broker-64bfd5d6b5-9c7ld          1/1     Running   0          25m
kafka-zk-768b548468-mhrrn              1/1     Running   0          145m
mysql-9dbdc88c6-xz4hh                  1/1     Running   0          21h
prometheus-64b45b746-zs7z4             1/1     Running   0          5h37m
prometheus-proxy-6764bf4968-4xjz5      1/1     Running   0          28m
scdf-server-7f864c96b7-s8cmm           1/1     Running   0          62m
skipper-7fbd7f47cd-b92v4               1/1     Running   0          6h13m
test-stream-log-v9-ffcd9d55f-8p96j     0/1     Running   13         68m
test-stream-time-v9-6c47699d94-pfzkr   0/1     Running   13         68m

时间应用日志。 https://pastebin.com/JyS8azVk

记录应用程序日志。 https://pastebin.com/pCe1NqSn

卡夫卡日志。 https://pastebin.com/Dj5KfVsQ

最佳答案

来自time-source中的附加日志;具体来说,这个:

2019-12-19 21:15:23.963 ERROR 1 --- [           main] o.s.cloud.stream.binding.BindingService  : Failed to create producer binding; retrying in 30 seconds
org.springframework.cloud.stream.provisioning.ProvisioningException: Provisioning exception; nested exception is java.util.concurrent.TimeoutException
        at org.springframework.cloud.stream.binder.kafka.provisioning.KafkaTopicProvisioner.createTopic(KafkaTopicProvisioner.java:290) ~[spring-cloud-stream-binder-kafka-core-2.1.4.RELEASE

这表明 Spring Cloud Stream 绑定(bind)器配置程序无法为生产者创建所需的主题(即时间源)。

但是,根据您的 kubectl get pods 输出,您的 Kafka 和 ZK 似乎是最近才部署的,而不是 Skipper,后者是在 6 小时前部署的。

您可能以错误的顺序部署了组件,或者您可能重新配置了 Kafka,但 IP/主机/端口的更改尚未反射(reflect)在 Skipper 的部署中。原因是,Skipper 跟踪 Kafka credentials in its config-map ,因此它部署(通过 SCDF)的所有流应用程序将在部署时自动接收凭据。

我猜当您重新配置 Kafka/ZK 时,应用程序收到的凭据可能会发生变化 - 您可以对此进行比较。我建议弹跳 Skipper 部署,以便它可以接收其配置映射中的最新版本或清除所有内容,并从头开始遵循文档中描述的部署顺序。

关于Spring Cloud Data Flow 流无法部署在 Kubernetes 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59417168/

相关文章:

java - 在 Spring Boot 中使用 MockMvc 进行测试

azure - 如何跳过Azure数据工厂、复制数据工具中已复制的文件?

kubernetes - istio可以使用现有服务吗?

c# - 在 Azure 的 IIS 中使用 net.tcp 绑定(bind)托管 WCF 服务

c# - 与本地 BizTalk 服务器的混合连接

kubernetes - 如何配置 nginx 部署将流量传递到 Google Kubernetes Engine 中的前端部署?

kubernetes - 来自服务器的错误(禁止): error when creating .。 : clusterroles. rbac.authorization.k8s.io ...:尝试授予额外权限:

java - 可以弹出@Autowired Map吗?

spring - 如何将动态值设置为@PropertySource?

spring - java.lang.NoSuchMethodError :org. apache.cxf.service.model.MessageInfo.getFirstMessagePart() org/apache/cxf/service/model/MessagePartInfo;