bal*_*hen 6 kubernetes kubernetes-ingress
全部,
很晚了,我的云提供商对数据传输收取更高的费用。最后注意到其中一个 K8 Pod 正在传输更多数据。有没有一种方法可以找出 pod 级别的网络流量,例如使用本机 kubernetes 命令传输和接收了多少字节?
谢谢巴拉
Mal*_*ata -5
kubectl top
命令显示 使用情况,而不是分配情况。分配是导致 insufficient CPU
问题的原因。在这个问题上,关于这种差异有很多困惑。
AFAICT,没有简单的方法来获取 pod 的节点 CPU 分配报告,因为请求是规范中的每个容器的。即便如此,这也很困难,因为 .spec.containers[*].requests
可能有也可能没有 limits
/requests
字段。但是有像kubectl-view-allocations这样的东西你可以探索你的 kube 资源使用和分配。它可以提供按命名空间、节点、pod 分组并按资源名称过滤的结果。
kubectl-view-allocations [FLAGS] [OPTIONS]
FLAGS:
-h, --help Prints help information
-z, --show-zero Show lines with zero requested and zero limit and zero allocatable
-V, --version Prints version information
OPTIONS:
-g, --group-by <group-by>... Group informations (hierarchicaly) (default: -g resource -g node -g pod)
[possible values: resource, node, pod]
-n, --namespace <namespace> Show only pods from this namespace
-r, --resource-name <resource-name>... Filter resources shown by name(s), by default all resources are listed
Run Code Online (Sandbox Code Playgroud)
对于你的情况,我认为最安全的选择是安装Heapster或metrics-server、cAdvisor和 Grafana。
Heapster 为Kubernetes (版本 v1.0.6 及更高版本)以及包含它的平台提供容器集群监控和性能分析 。
Heapster 收集并解释各种信号,例如计算资源使用情况 - 通过这些指标,您会发现通过特定 Pod、生命周期事件等传输更多数据的问题。Heapster 支持多种数据源。
容器指标主要通过 cAdvisor 提供。cAdvisor(Container Advisor)为容器用户提供对其运行容器的资源使用情况和性能特征的了解。它是一个正在运行的守护进程,用于收集、聚合、处理和导出有关正在运行的容器的信息。具体来说,它为每个容器保留资源隔离参数、历史资源使用情况、完整历史资源使用情况的直方图和网络统计信息。该数据由容器和机器范围导出。
另一方面,Grafana 允许您查询、可视化、警报和理解收集的指标,无论它们存储在何处。与您的团队创建、探索和共享仪表板,并培养数据驱动的文化。
看一下:kubernetes-metrics、metrics-server-installation。
归档时间: |
|
查看次数: |
4926 次 |
最近记录: |