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

kar*_*yan 3 horizontal-scaling autoscaling kubernetes kubernetes-pod

我已经为我在 Kubernetes 中的部署之一配置了 hpa。

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

我没有部署普罗米修斯或任何监控解决方案。

Pjo*_*erS 9

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

$ kubeclt get hpa
Run Code Online (Sandbox Code Playgroud)

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

$ kubectl get hpa -w
Run Code Online (Sandbox Code Playgroud)

要检查 HPA 是否有效,您必须描述它

$ kubectl describe hpa <yourHpaName>
Run Code Online (Sandbox Code Playgroud)

信息将在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
Run Code Online (Sandbox Code Playgroud)

另一种方法是使用事件

$ 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:
Run Code Online (Sandbox Code Playgroud)