华为云UCS-使用多集群负载伸缩扩缩工作负载:验证负载伸缩结果

时间:2025-02-12 15:02:13

验证负载伸缩结果

  1. 查看FederatedHPA策略,结果显示工作负载的CPU使用率为0%。

    kubectl get FederatedHPA hpa-example-hpa
    NAME              REFERENCE                TARGETS   MINPODS   MAXPODS   REPLICAS   AGE hpa-example-hpa   Deployment/hpa-example   0%/50%    1         100       1          6m

  2. 通过如下命令访问工作负载,其中{ip:port}为负载的访问地址,可以在工作负载的详情页中查询。

    while true;do wget -q -O- http://{ip:port}; done

  3. 观察工作负载自动扩容过程。

    kubectl get federatedhpa hpa-example-hpa --watch

    查看FederatedHPA策略,可以看到6m23s时负载的CPU使用率为200%,超过了目标值,此时触发了FederatedHPA策略,将工作负载扩容为4个Pod,随后的几分钟内,CPU使用并未下降,直到到8m16s时CPU使用率才开始下降,这是因为新创建的Pod并不一定创建成功,可能是因为资源不足Pod处于Pending状态,这段时间内在扩容节点。

    到8m16s时CPU使用率开始下降,说明Pod创建成功,开始分担请求流量,到8分钟时下降到81%,还是高于目标值,在容忍度范围外,说明还会再次扩容,到9m31s时再次扩容到7个Pod,这时CPU使用率降为51%,在容忍度范围内,不会再次扩缩,因此此后Pod数量一直稳定在7个。

    NAME              REFERENCE                TARGETS    MINPODS   MAXPODS   REPLICAS   AGE hpa-example-hpa   Deployment/hpa-example   0%/50%     1         100       1          6m hpa-example-hpa   Deployment/hpa-example   200%/50%   1         100       1          6m23s hpa-example-hpa   Deployment/hpa-example   200%/50%   1         100       4          6m31s hpa-example-hpa   Deployment/hpa-example   210%/50%   1         100       4          7m16s hpa-example-hpa   Deployment/hpa-example   210%/50%   1         100       4          7m16s hpa-example-hpa   Deployment/hpa-example   90%/50%    1         100       4          8m16s hpa-example-hpa   Deployment/hpa-example   85%/50%    1         100       4          9m16s hpa-example-hpa   Deployment/hpa-example   51%/50%    1         100       7          9m31s hpa-example-hpa   Deployment/hpa-example   51%/50%    1         100       7          10m16s hpa-example-hpa   Deployment/hpa-example   51%/50%    1         100       7          11m 

    查看FederatedHPA策略事件,可以看到策略的生效时间。

    kubectl describe federatedhpa hpa-example-hpa

  4. 停止访问负载,观察工作负载自动缩容过程。

    查看FederatedHPA策略,可以看到从13m开始CPU使用率为21%,18m时Pod数量缩为3个,到23m时Pod数量缩为1个。

    kubectl get federatedhpa hpa-example-hpa --watch

    NAME              REFERENCE                TARGETS    MINPODS   MAXPODS   REPLICAS   AGE hpa-example-hpa   Deployment/hpa-example   50%/50%    1         100       7          12m hpa-example-hpa   Deployment/hpa-example   21%/50%    1         100       7          13m hpa-example-hpa   Deployment/hpa-example   0%/50%     1         100       7          14m hpa-example-hpa   Deployment/hpa-example   0%/50%     1         100       7          18m hpa-example-hpa   Deployment/hpa-example   0%/50%     1         100       3          18mhpa-example-hpa   Deployment/hpa-example   0%/50%     1         100       3          19m hpa-example-hpa   Deployment/hpa-example   0%/50%     1         100       3          19m hpa-example-hpa   Deployment/hpa-example   0%/50%     1         100       3          19m hpa-example-hpa   Deployment/hpa-example   0%/50%     1         100       3          19m hpa-example-hpa   Deployment/hpa-example   0%/50%     1         100       3          23m hpa-example-hpa   Deployment/hpa-example   0%/50%     1         100       3          23m hpa-example-hpa   Deployment/hpa-example   0%/50%     1         100       1          23m

    查看FederatedHPA策略事件,可以看到策略的生效时间。

    kubectl describe federatedhpa hpa-example-hpa

  5. 达到CronFederatedHPA策略的触发时间后,观察工作负载的自动扩缩容过程。

    可以看到118m时Pod数量扩为4个,到123m时Pod数量扩为10个。

    kubectl get cronfederatedhpa cron-federated-hpa --watch

    NAME                 REFERENCE                TARGETS    MINPODS   MAXPODS   REPLICAS   AGE cron-federated-hpa   Deployment/hpa-example   50%/50%    1         100       1          112m cron-federated-hpa   Deployment/hpa-example   21%/50%    1         100       1          113m cron-federated-hpa   Deployment/hpa-example   0%/50%     1         100       4          114m cron-federated-hpa   Deployment/hpa-example   0%/50%     1         100       4          118m cron-federated-hpa   Deployment/hpa-example   0%/50%     1         100       4          118mcron-federated-hpa   Deployment/hpa-example   0%/50%     1         100       4          119m cron-federated-hpa   Deployment/hpa-example   0%/50%     1         100       7          119m cron-federated-hpa   Deployment/hpa-example   0%/50%     1         100       7          119m cron-federated-hpa   Deployment/hpa-example   0%/50%     1         100       7          119mcron-federated-hpa   Deployment/hpa-example   0%/50%     1         100       7          123m  cron-federated-hpa   Deployment/hpa-example   0%/50%     1         100       10         123m cron-federated-hpa   Deployment/hpa-example   0%/50%     1         100       10         123m

    查看CronFederatedHPA策略事件,可以看到策略的生效时间。

    kubectl describe cronfederatedhpa cron-federated-hpa

support.huaweicloud.com/bestpractice-ucs/ucs_03_0011.html