我创建了一个物理机和虚拟机的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运行良好。
答案 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。
我希望这可以使您对此有所了解。