2.2. スケーリング限度
スケーリング限度は、任意の時点でアプリケーションに対応できる最小および最大のレプリカ数を決定します。アプリケーションのスケーリング限度を設定して、コールドスタートを防止したり、コンピューティングコストを制御したりできます。
2.2.1. スケーリング下限
アプリケーションにサービスを提供できるレプリカの最小数は、最小 min-scale
のアノテーションによって決定されます。ゼロへのスケーリングが有効になっていない場合、min-Scale
値のデフォルトは 1
になります。
次の条件が満たされた場合、min-scale
値はデフォルトで 0
レプリカになります。
-
mi-scale
の注釈が設定されていません - ゼロへのスケーリングが有効にされている
-
KPA
クラスが使用されている
min-scale
アノテーションを使用したサービス仕様の例
apiVersion: serving.knative.dev/v1 kind: Service metadata: name: example-service namespace: default spec: template: metadata: annotations: autoscaling.knative.dev/min-scale: "0" ...
2.2.1.1. Knative CLI を使用した最小スケール注釈の設定
minScale
アノテーションを設定するために Knative (kn
) CLI を使用すると、YAML ファイルを直接修正するよりも合理的で直感的なユーザーインターフェイスが提供されます。kn service
コマンドを --scale-min
フラグと共に使用して、サービスの --min-scale
値を作成または変更できます。
前提条件
- Knative Serving がクラスターにインストールされている。
-
Knative (
kn
) CLI をインストールしている。
手順
--scale-min
フラグを使用して、サービスのレプリカの最小数を設定します。$ kn service create <service_name> --image <image_uri> --scale-min <integer>
コマンドの例
$ kn service create example-service --image quay.io/openshift-knative/knative-eventing-sources-event-display:latest --scale-min 2
2.2.2. スケーリング上限
アプリケーションにサービスを提供できるレプリカの最大数は、max-scale
アノテーションによって決定されます。max-scale
アノテーションが設定されていない場合、作成されるレプリカの数に上限はありません。
max-scale
アノテーションを使用したサービス仕様の例
apiVersion: serving.knative.dev/v1 kind: Service metadata: name: example-service namespace: default spec: template: metadata: annotations: autoscaling.knative.dev/max-scale: "10" ...
2.2.2.1. Knative CLI を使用した最大スケール注釈の設定
Knative (kn
) CLI を使用して max-scale
のアノテーションを設定すると、YAML ファイルを直接変更する場合に比べ、ユーザーインターフェイスがより合理的で直感的です。--scale-max
フラグを指定して knservice コマンドを使用すると、kn service
の max-scale
値を作成または変更できます。
前提条件
- Knative Serving がクラスターにインストールされている。
-
Knative (
kn
) CLI をインストールしている。
手順
--scale-max
フラグを使用して、サービスのレプリカの最大数を設定します。$ kn service create <service_name> --image <image_uri> --scale-max <integer>
コマンドの例
$ kn service create example-service --image quay.io/openshift-knative/knative-eventing-sources-event-display:latest --scale-max 10