Kubernetes 有没有办法检查 hpa 发生的时间?

Is there a way in Kubernetes to check when hpa happened?

我为我在 Kubernetes 中的一个部署配置了 hpa。

有什么方法可以检查 HPA 缩放是否发生在部署中以及何时发生?

我没有部署 prometheus 或任何监控解决方案。

如果您创建了 HPA,您可以使用命令检查当前状态

$ kubectl get hpa

您也可以使用“watch”标志每 30 秒刷新一次视图

$ kubectl get hpa -w

要检查 HPA 是否有效,您必须对其进行描述

$ kubectl describe hpa <yourHpaName>

信息将在 Events: 部分。

您的部署还将包含一些有关扩展的信息

$ kubectl describe deploy <yourDeploymentName>
...
Events:
  Type    Reason             Age    From                   Message
  ----    ------             ----   ----                   -------
  Normal  ScalingReplicaSet  11m    deployment-controller  Scaled up replica set php-apache-b5f58cc5f to 1
  Normal  ScalingReplicaSet  9m45s  deployment-controller  Scaled up replica set php-apache-b5f58cc5f to 4
  Normal  ScalingReplicaSet  9m30s  deployment-controller  Scaled up replica set php-apache-b5f58cc5f to 8
  Normal  ScalingReplicaSet  9m15s  deployment-controller  Scaled up replica set php-apache-b5f58cc5f to 10

另一种方法是使用事件

$ kubectl get events | grep HorizontalPodAutoscaler
5m20s       Normal    SuccessfulRescale              HorizontalPodAutoscaler   New size: 4; reason: cpu resource utilization (percentage of request) above target
5m5s        Normal    SuccessfulRescale              HorizontalPodAutoscaler   New size: 8; reason: cpu resource utilization (percentage of request) above target
4m50s       Normal    SuccessfulRescale              HorizontalPodAutoscaler   New size: 10; reason: