铁锹(在kubernetes中作为服务运行)无法连接到kafka(在kubernetes中作为服务运行)

时间:2018-12-18 11:33:13

标签: kubernetes apache-kafka kubectl rabbitmq-shovel

问题:

  1. 由于无法与kafka通信而导致部署部署失败,并显示错误:NoBrokersAvailable kafka = kafka.datacenter.svc.cluster.local:9092

ubuntu @ k8s-worker-1:〜$ sudo docker日志k8s_shovel-8469fc4b6d-ftmt4_03933125-ff8c-11e8-ac37-fa163e8dcff2_0
2018-12-14 10:35.48在grafana.datacenter.svc.cluster.local:2004连接到石墨
2018-12-14 10:35.48 connect-to-kafka kafka = kafka.datacenter.svc.cluster.local
2018-12-14 10:35.50无法连接到kafka e = NoBrokersAvailable()kafka = kafka.datacenter.svc.cluster.local:9092

  1. 上面的语句之后,容器退出。

环境:

  1. 使用yml文件在Kubernetes环境中部署的Kafka。
  2. 尝试使用yml文件在Kubernetes环境中部署Shovel。
  3. Kafka已成功连接到Zookeeper。
  4. 在部署铲子时传递以下参数:

    args:     -“ shovel / main.py”
        -“ --kafka = kafka。$(NAMESPACE).svc.cluster.local:9092”
        -“ --consul = consul:4000”
        -“ --host = grafana。$(NAMESPACE).svc.cluster.local”
        -“ --topic = datacenter.test”

ubuntu @ k8s-master-1:〜$ kubectl描述pod shovel-8469fc4b6d-ftmt4 -n数据中心

State:      Waiting
  Reason:       CrashLoopBackOff
Last State: Terminated
  Reason:       Error
  Exit Code:    1

Conditions:
  Type           Status
  Initialized    True 
  Ready          False 
  PodScheduled   True 

事件:   从消息中键入原因年龄
  ---- ------ ---- ---- -------
  正常计划的10m默认调度程序已成功将shovel-8469fc4b6d-ftmt4分配给k8s-worker-1
  正常SuccessMountVolume 10m kubelet,k8s-worker-1 MountVolume.SetUp已成功用于卷“ default-token-pk”
  普通创建9m(x4超过10m)kubelet,k8s-worker-1创建容器
  正常启动9m(x4超过10m)kubelet,k8s-worker-1启动容器
  正常拉动8m(x5超过10m)kubelet,k8s-worker-1拉动图像“ docker-registry:8000 / datacenter-shovel”
  正常拉出8m(x5超过10m)kubelet,k8s-worker-1成功拉出图像“ docker-registry:8000 / datacenter-shovel”
  警告BackOff 12s(x44超过10m)kubelet,k8s-worker-1后退,重新启动失败的容器

++根据kafka和铲PODS之间的数据包捕获:

  1. 我们能够看到正在交换的数据包。 (Internet协议版本4,Src:192.168.1.81,Dst:192.168.1.94)

  2. Shovel POD能够看到来自kafka POD的数据包。

  3. Kafka POD能够将数据包发送到铲斗。

任何帮助将不胜感激。

0 个答案:

没有答案