This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.5.2. 自動スケーリング
Knative Serving は、アプリケーションが受信要求に一致するように、自動スケーリング (autoscaling) を提供します。たとえば、アプリケーションがトラフィックを受信せず、scale-to-zero が有効にされている場合、Knative Serving はアプリケーションをゼロレプリカにスケールダウンします。scale-to-zero が無効になっている場合、アプリケーションはクラスターのアプリケーションに設定された最小のレプリカ数にスケールダウンされます。アプリケーションへのトラフィックが増加したら、要求を満たすようにレプリカをスケールアップすることもできます。
Knative サービスの自動スケーリング設定は、クラスター管理者によって設定されるグローバル設定とすることも、個別サービスに設定されるリビジョンごとの設定とすることもできます。OpenShift Container Platform Web コンソールを使用して、サービスの YAML ファイルを変更するか、または Knative (kn) CLI を使用して、サービスのリビジョンごとの設定を変更できます。
サービスに設定した制限またはターゲットは、アプリケーションの単一インスタンスに対して測定されます。たとえば、target アノテーションを 50 に設定することにより、各リビジョンが一度に 50 の要求を処理できるようアプリケーションをスケーリングするように Autoscaler が設定されます。
5.2.1. スケーリング限度 リンクのコピーリンクがクリップボードにコピーされました!
スケーリング限度は、任意の時点でアプリケーションに対応できる最小および最大のレプリカ数を決定します。アプリケーションのスケーリング限度を設定して、コールドスタートを防止したり、コンピューティングコストを制御したりできます。
5.2.1.1. スケーリング下限 リンクのコピーリンクがクリップボードにコピーされました!
アプリケーションにサービスを提供できるレプリカの最小数は、最小 min-scale のアノテーションによって決定されます。ゼロへのスケーリングが有効になっていない場合、min-Scale 値のデフォルトは 1 になります。
次の条件が満たされた場合、min-scale 値はデフォルトで 0 レプリカになります。
-
mi-scaleの注釈が設定されていません - ゼロへのスケーリングが有効にされている
-
KPAクラスが使用されている
min-scale アノテーションを使用したサービス仕様の例
5.2.1.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 <service_name> --image <image_uri> --scale-min <integer>Copy to Clipboard Copied! Toggle word wrap Toggle overflow コマンドの例
kn service create example-service --image quay.io/openshift-knative/knative-eventing-sources-event-display:latest --scale-min 2
$ kn service create example-service --image quay.io/openshift-knative/knative-eventing-sources-event-display:latest --scale-min 2Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.2.1.2. スケーリング上限 リンクのコピーリンクがクリップボードにコピーされました!
アプリケーションにサービスを提供できるレプリカの最大数は、max-scale アノテーションによって決定されます。max-scale アノテーションが設定されていない場合、作成されるレプリカの数に上限はありません。
max-scale アノテーションを使用したサービス仕様の例
5.2.1.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 <service_name> --image <image_uri> --scale-max <integer>Copy to Clipboard Copied! Toggle word wrap Toggle overflow コマンドの例
kn service create example-service --image quay.io/openshift-knative/knative-eventing-sources-event-display:latest --scale-max 10
$ kn service create example-service --image quay.io/openshift-knative/knative-eventing-sources-event-display:latest --scale-max 10Copy to Clipboard Copied! Toggle word wrap Toggle overflow