ゼロへのスケーリングの設定¶
警告
ゼロへのスケーリングは、KnativePodAutoscaler(KPA)を使用している場合にのみ有効にでき、グローバルにのみ設定できます。KPAまたはグローバル設定の使用の詳細については、サポートされているAutoscalerの種類に関するドキュメントを参照してください。
ゼロへのスケーリングを有効にする¶
ゼロへのスケーリングの値は、Knativeがレプリカをゼロにスケールダウンすることを許可するかどうか(true
に設定した場合)、またはfalse
に設定した場合に1レプリカで停止するかどうかを制御します。
注記
リビジョンごとのスケール境界設定の詳細については、スケール境界の設定に関するドキュメントを参照してください。
- グローバルキー:
enable-scale-to-zero
- リビジョンごとのアノテーションキー: リビジョンごとの設定はありません。
- 可能な値: ブール値
- デフォルト:
true
例
apiVersion: v1
kind: ConfigMap
metadata:
name: config-autoscaler
namespace: knative-serving
data:
enable-scale-to-zero: "false"
apiVersion: operator.knative.dev/v1alpha1
kind: KnativeServing
metadata:
name: knative-serving
spec:
config:
autoscaler:
enable-scale-to-zero: "false"
ゼロへのスケーリングの猶予期間¶
この設定は、最後のレプリカが削除される前に、システムが内部的にゼロからのスケーリング機構が整うまで待機する上限時間制限を指定します。
警告
これは、内部ネットワークプログラミングが許容される時間を制御する値であり、リビジョンがゼロレプリカにスケールしている間に要求がドロップされる問題が発生した場合にのみ調整する必要があります。
この設定は、トラフィックが終了した後、最後のレプリカが保持される時間を調整せず、この期間全体にレプリカが実際に保持されることを保証しません。
- グローバルキー:
scale-to-zero-grace-period
- リビジョンごとのアノテーションキー: n/a
- 可能な値: 期間
- デフォルト:
30s
例
apiVersion: v1
kind: ConfigMap
metadata:
name: config-autoscaler
namespace: knative-serving
data:
scale-to-zero-grace-period: "40s"
apiVersion: operator.knative.dev/v1alpha1
kind: KnativeServing
metadata:
name: knative-serving
spec:
config:
autoscaler:
scale-to-zero-grace-period: "40s"
ゼロへのスケーリングの最後のポッド保持期間¶
scale-to-zero-pod-retention-period
フラグは、Autoscalerがポッドをゼロにスケールダウンすることを決定した後、最後のポッドがアクティブな状態を維持する最短時間を決定します。
これは、Autoscalerがポッドをゼロにスケールダウンすることを決定した後、最後のポッドがアクティブな状態を維持する最長時間 を決定するscale-to-zero-grace-period
フラグとは対照的です。
- グローバルキー:
scale-to-zero-pod-retention-period
- リビジョンごとのアノテーションキー:
autoscaling.knative.dev/scale-to-zero-pod-retention-period
- 可能な値: 負ではない期間文字列
- デフォルト:
0s
例
apiVersion: serving.knative.dev/v1
kind: Service
metadata:
name: helloworld-go
namespace: default
spec:
template:
metadata:
annotations:
autoscaling.knative.dev/scale-to-zero-pod-retention-period: "1m5s"
spec:
containers:
- image: ghcr.io/knative/helloworld-go:latest
apiVersion: v1
kind: ConfigMap
metadata:
name: config-autoscaler
namespace: knative-serving
data:
scale-to-zero-pod-retention-period: "42s"
apiVersion: operator.knative.dev/v1alpha1
kind: KnativeServing
metadata:
name: knative-serving
spec:
config:
autoscaler:
scale-to-zero-pod-retention-period: "42s"