6

自動スケーリングに次のコマンドを使用しました。

kubectl autoscale deployment catch-node --cpu-percent=50 --min=1 --max=10

私の場合のロード テストでの自動スケーリングのステータスは次のようになります。

27分

NAME         REFERENCE                     TARGET    CURRENT   MINPODS   MAXPODS   AGE
catch-node   Deployment/catch-node/scale   50%       20%      1         10        27m

NAME         DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
catch-node   1         1         1            1           27m

29分

NAME         REFERENCE                     TARGET    CURRENT   MINPODS   MAXPODS   AGE
catch-node   Deployment/catch-node/scale   50%       35%      1         10        29m

NAME         DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
catch-node   1         1         1            1           29m

31分

NAME         REFERENCE                     TARGET    CURRENT   MINPODS   MAXPODS   AGE
catch-node   Deployment/catch-node/scale   50%       55%      1         10        31m

NAME         DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
catch-node   1         1         1            1           31m

34分

NAME         REFERENCE                     TARGET    CURRENT   MINPODS   MAXPODS   AGE
catch-node   Deployment/catch-node/scale   50%       190%      1         10        34m

NAME         DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
catch-node   4         4         4            4           34m

ここでは、自動スケーリングで 1 つのポッドから 4 つのポッドに移行する間に接続拒否エラーが発生します。自動スケーリング中に指定された CPU % 制限を超えた場合、新しいポッドを起動するのにかかる時間を教えてください。また、この時間を短縮する方法があるかどうかも教えてください。すべての新しいポッドが起動したら、問題は次のとおりです。いない 。前もって感謝します

4

1 に答える 1

3

このドキュメント に記載されているよう、オートスケーラーの反応時間に影響を与える 2 つの要因があります。

  1. --horizontal-pod-autoscaler-sync-period、オートスケーラーが制御されたリソースのステータスをチェックする頻度を定義します。デフォルト値は 30 秒です。コントローラーマネージャーのフラグを介して変更できます。

  2. upscaleForbiddenWindow、オートスケーラーがリソースをスケールアップできる頻度を定義します。デフォルト値は 3 分です。現在、調整不可です。

貼り付けていただいたログによると、負荷が安定していればオートスケーラーはCPU使用率が55%に達してから30秒で反応するはずですが、そうでしょうか?

于 2016-05-08T21:26:07.013 に答える