我想看看我的服务将如何在kubernetes上工作,这样我就可以优化我的代码,并在CPU和内存上设置好的请求/限制值。
为了做到这一点,我已经尝试了kubectl顶部比特,它只给了我当前的用法。
kubectl top pod podname
如何获得init、min和max使用率?
如果不可能获得所有这些值,有什么方法可以获得最大使用量吗?
为了查看统计数据,您可能需要使用以下监控工具之一:
- cAdvisor
Container Advisor是一个出色的监控工具,它提供容器级度量,并公开资源使用情况和性能来自运行容器的数据。它提供了对CPU的快速了解运行的使用、内存使用和网络接收/传输集装箱。cAdvisor嵌入到kubelet中,因此您可以抓取kubelet以获取容器度量,将数据存储在持久时间序列存储,如Prometheus/InfluxDB,然后通过Grafana将其可视化。
- 度量服务器
Metrics Server是一个集群范围的资源使用数据聚合器收集Kubernetes节点的CPU和内存使用情况等基本指标,吊舱和容器。Horizontal Pod Autoscaler和Kubernetes仪表板本身,用户可以访问这些指标直接使用kubectl top命令。度量服务器替换Heapster作为集群中的主要度量聚合器,它具有在更新版本的Kubernetes中被标记为已弃用。
- 节点导出器
Node Exporter是硬件和操作的Prometheus导出器系统度量。它允许您监控节点级别的指标,例如CPU、内存、文件系统空间、网络流量和其他监控度量,普罗米修斯从正在运行的节点导出器中删除例子然后,您可以在Grafana中可视化这些指标。
- Kube状态度量
Kube状态度量是一个监听Kubernetes的附加代理API服务器。它生成有关Kubernetes状态的度量群集中的对象,如部署、副本集、节点和豆荚。
kube状态度量生成的度量与资源不同主要更倾向于CPU的利用率度量,存储器和网络使用。Kube状态度量公开关键度量关于您的Kubernetes集群的状况:
- 资源请求和限制
- 对象数量–节点、pod、命名空间、服务、部署
- 处于运行/终止/失败状态的pod数量
- 普罗米修斯
Prometheus是一个用于事件监视的免费软件应用程序以及警报。它在时间序列数据库中记录实时指标使用HTTP拉取模型构建,具有灵活的查询和实时性报警
您可以使用Grafana可视化普罗米修斯的监测数据及其仪表板集合。
您可以找到详细的Monitor Your Kubernetes Cluster With Prometheus和Grafana说明如何将它们一起使用