0

问题:

  1. Shovel 部署失败,因为它无法与 kafka 通信,出现错误:NoBrokersAvailable kafka=kafka.datacenter.svc.cluster.local:9092

ubuntu@k8s-worker-1:~$ sudo docker logs 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 连接到 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. Kafka 使用 yml 文件部署在 Kubernetes 环境中。
  2. 尝试使用 yml 文件在 Kubernetes 环境中部署 Shovel。
  3. Kafka 成功连接到 zookeeper。
  4. 在部署 shovel 时传递以下参数:

    参数: - “铲子
    /main.py”-“--kafka=kafka.$(NAMESPACE).svc.cluster.local:9092”-“--consul=consul:4000”-“--host=grafana.$ (命名空间).svc.cluster.local" - "--topic=datacenter.test"


ubuntu@k8s-master-1:~$ kubectl describe pod shovel-8469fc4b6d-ftmt4 -n datacenter

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

Conditions:
  Type           Status
  Initialized    True 
  Ready          False 
  PodScheduled   True 

Events: Type Reason Age From Message
---- ------ ---- ---- --------
Normal Scheduled 10m default-scheduler 已成功将 shovel-8469fc4b6d-ftmt4 分配给 k8s-worker- 1
Normal SuccessMountVolume 10m kubelet, k8s-worker-1 MountVolume.SetUp 为卷“default-token-pk”成功
Normal Created 9m (x4 over 10m) kubelet, k8s-worker-1 Created container
Normal Started 9m (x4 over 10m) kubelet , k8s-worker-1 启动容器
正常拉取 8m (x5 over 10m) kubelet, k8s-worker-1 拉取镜像 "docker-registry:8000/datacenter-shovel"
正常拉取 8m (x5 over 10m) kubelet, k8s-worker-1 成功拉取镜像 "docker-registry :8000/datacenter-shovel"
警告 BackOff 12s (x44 over 10m) kubelet, k8s-worker-1 Back-off 重启失败的容器

++根据kafka和shovel PODS之间的抓包:

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

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

  3. Kafka POD 能够将数据包发送到 shovel pod。

任何帮助将不胜感激。

4

0 回答 0