我试图跟踪和监控,一个豆荚需要多少时间才能上线/健康/运行。
我正在使用EKS。我已经在我的集群上安装了HPA和集群自动缩放器。
假设我有一个HorizontalPodAutoscaler
扩展策略为70% targetAverageUtilization
的部署。
因此,每当部署的平均利用率超过70%时,HPA将触发以创建新POD。现在,根据不同的因素,例如节点是否可用,如果不可用,则需要下载映像,或者映像是否存在于缓存中,扩展可能需要几秒钟到几分钟的时间。
我想跟踪这个时间/持续时间,每次POD被调度,需要多少时间才能到达Running
状态。有什么建议吗?
或者任何我应该看的方向。
我找到了这个Cluster Autoscaler Visibility Logs,但这只在GCE中可用。
我正在寻找任何解决方案,可以是开箱即用的集成,或者引发事件并将其存储在一些时间序列数据库中,或者从Prometheus中抓取数据。但直到现在我还没有找到任何解决方案。
先谢了。
2条答案
按热度按时间wz3gfoph1#
没有什么开箱即用的东西,你需要自己构建一些东西。
bqf10yzr2#
你可以做的是使用kube-prometheus-stack获取prometheus中的pod指标,并使用此查询监视使pod处于就绪状态所需的时间
kube_pod_status_ready_time{pod=~".$pod."}-kube_pod_created{pod=~".$pod."}
https://github.com/kubernetes/kube-state-metrics/blob/main/docs/pod-metrics.md