docker stats没有显示正在流视频的容器的ZERO Net I / O

时间:2019-07-25 15:12:07

标签: docker kubernetes

我创建了一个物理机和虚拟机的Kubernetes集群。部署的容器正在显示内存和CPU的值,但是网络I / O值是零/零,尽管我正在从容器中流式传输视频。在POD上针对每个容器创建了一些PAUSE容器,它们还显示0/0净I / O。

我试图通过cadvisor获取数据,但是它也没有显示正在运行的容器的网络I / O数据。

CONTAINER ID        NAME                                                                                                                CPU %               MEM USAGE / LIMIT     MEM %               NET I/O             BLOCK I/O           PIDS
ce0eebabe881        k8s_video_hello-world-5c78949d4d-mpzqh_default_5d0b8e18-1419-4c5b-9aef-25627fcf2e0c_0                               0.02%               19.82MiB / 15.59GiB   0.12%               0B / 0B             0B / 0B             1
0a47b078ba26        k8s_video_hello-world-5c78949d4d-xfvcz_default_b8ec6c0a-ffe3-4f77-ae97-e0a6b162e078_0                               0.02%               20.35MiB / 15.59GiB   0.13%               0B / 0B             0B / 0B             1
d68827bc3a8e        k8s_video_hello-world-5c78949d4d-h95kq_default_9086a833-e3e1-410e-98bb-8db11314bf65_0                               0.03%               19.32MiB / 15.59GiB   0.12%               0B / 0B             0B / 0B             1
80130bc836ac        k8s_video_hello-world-5c78949d4d-hc7hx_default_77dcf557-8450-47c3-91d0-52369c7c37ac_0                               0.02%               19.6MiB / 15.59GiB    0.12%               0B / 0B             0B / 0B             1
37392f5c807b        k8s_POD_hello-world-5c78949d4d-mpzqh_default_5d0b8e18-1419-4c5b-9aef-25627fcf2e0c_0                                 0.00%               1.281MiB / 15.59GiB   0.01%               0B / 0B             0B / 0B             1
1736a8064c72        k8s_POD_hello-world-5c78949d4d-h95kq_default_9086a833-e3e1-410e-98bb-8db11314bf65_0                                 0.00%               1.508MiB / 15.59GiB   0.01%               0B / 0B             0B / 0B             1
aef03f775aeb        k8s_POD_hello-world-5c78949d4d-xfvcz_default_b8ec6c0a-ffe3-4f77-ae97-e0a6b162e078_0                                 0.00%               944KiB / 15.59GiB     0.01%               0B / 0B             0B / 0B             1
a89c5c6399b1        k8s_POD_hello-world-5c78949d4d-hc7hx_default_77dcf557-8450-47c3-91d0-52369c7c37ac_0                                 0.00%               1.379MiB / 15.59GiB   0.01%               0B / 0B             0B / 0B             1

当我为部署在集群上的容器运行Docker统计信息时,Docker统计信息和cadvisor运行良好。

1 个答案:

答案 0 :(得分:0)

如果图像中包含包装ifconfig,则您可以随时进行

kubectl exec <pod_name> ifconfig

输出可能如下所示:

eth0      Link encap:Ethernet  HWaddr DA:6E:42:4F:87:EE
          inet addr:10.8.1.9  Bcast:0.0.0.0  Mask:255.255.255.0
          inet6 addr: fe80::d86e:42ff:fe4f:87ee/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1460  Metric:1
          RX packets:1282 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1296 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:122059 (119.1 KiB)  TX bytes:122960 (120.0 KiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

现在开始解释为什么docker stats无法正常工作。

Kubernetes不使用Docker网络,它使用CNI - Container Network Interface

  

CNI插件负责将网络接口插入容器网络名称空间(例如,veth对的一端)并在主机上进行任何必要的更改(例如,将veth的另一端连接到网桥)。然后,应通过调用适当的IPAM插件,将IP分配给接口并设置与IP地址管理部分一致的路由。

我强烈建议您阅读@Ian Lewis博客What are Kubernetes Pods Anyway?

如果您想了解有关联网的更多信息,建议阅读Kubernetes Networking: Behind the scenes@Nicolas Leiva

我希望这可以使您对此有所了解。