首页 > 解决方案 > Kubernetes 中有没有办法检查 hpa 何时发生?

问题描述

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

有什么方法可以检查 HPA 扩展是否发生在部署中以及发生的时间?

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

标签: kubernetesautoscalingkubernetes-podhorizontal-scaling

解决方案


如果您创建了 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:

推荐阅读