无法在Kubernetes中部署Spring云数据流

无法在Kubernetes中部署Spring云数据流,spring,azure,kubernetes,apache-kafka,spring-cloud-dataflow,Spring,Azure,Kubernetes,Apache Kafka,Spring Cloud Dataflow,我遵循Spring云数据流指南,使用kubectl在Azure Kubernetes集群上安装了该应用程序。我使用Kafka作为消息代理,创建了一个简单的流,time | log 流无法部署,我附上了我无法完全理解的日志 PS kubectl get pods NAME READY STATUS RESTARTS AGE grafana-7d7d77d54-m59dx 1/1

我遵循Spring云数据流指南,使用
kubectl
在Azure Kubernetes集群上安装了该应用程序。我使用Kafka作为消息代理,创建了一个简单的流,
time | log

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

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
时间应用程序日志

记录应用程序日志


卡夫卡日志

来自
时间源中的附加日志
;具体而言,这:

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 binder provisioner无法为制作人创建所需的主题(即
时间源

然而,根据您的
kubectl get pods
输出,您的卡夫卡和ZK似乎是最近部署的,而不是6小时前部署的Skipper

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


我猜当你重新设置Kafka/ZK时,收到的应用程序的凭据可能已经改变了-你可以比较一下。我建议跳转Skipper部署,这样它就可以接收其configmap中的最新版本或全部清除,并从一开始就遵循文档中描述的部署顺序。

来自时间源中的附加日志;具体而言,这:

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 binder provisioner无法为制作人创建所需的主题(即
时间源

然而,根据您的
kubectl get pods
输出,您的卡夫卡和ZK似乎是最近部署的,而不是6小时前部署的Skipper

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


我猜当你重新设置Kafka/ZK时,收到的应用程序的凭据可能已经改变了-你可以比较一下。我建议跳转Skipper部署,这样它就可以接收最新的configmap或全部清除,并从一开始就遵循文档中描述的部署顺序。

错误的部署顺序是根本原因,非常感谢。错误的部署顺序是根本原因,非常感谢。