我们最近在Kubernetes基础设施中引入了Karpenter自动缩放器。
它的优势之一是deprovisioning mechanism。
然而,由于我们有很多有状态的工作负载,这有时会导致一些严重的问题。我们正在采取一些措施来控制它。
同时,我们意识到,我们无法观察我们采取的措施如何缓解问题。
因此问题是:是否有方法监控Kubernetes POD移动,即跟踪POD(不是容器)可能已经重新调度/重新启动多少次以从一个节点移动到另一个节点等。
我们最近在Kubernetes基础设施中引入了Karpenter自动缩放器。
它的优势之一是deprovisioning mechanism。
然而,由于我们有很多有状态的工作负载,这有时会导致一些严重的问题。我们正在采取一些措施来控制它。
同时,我们意识到,我们无法观察我们采取的措施如何缓解问题。
因此问题是:是否有方法监控Kubernetes POD移动,即跟踪POD(不是容器)可能已经重新调度/重新启动多少次以从一个节点移动到另一个节点等。
1条答案
按热度按时间mcdcgff01#
kubelet
kube_pod_status_scheduled_time
中有一个指标可以使用。如果start time
大于scheduled time
,则会被调度:您还可以使用指标
kube_pod_status_reason
查找Pod的状态(Evicted
,NodeAffinity
,Shutdown
...)。