第17章 Queue Proxy リソースの設定
Queue Proxy は、サービス内の各アプリケーションコンテナーに対するサイドカーコンテナーです。これにより、Serverless ワークロードの管理が向上し、リソースを効率的に使用できます。Queue Proxy を設定できます。
17.1. Knative サービスの Queue Proxy リソースの設定
デプロイメント configmap で Queue Proxy リソースのリクエストと制限をグローバルに設定することとは別に、CPU、メモリー、および一時ストレージリソースタイプを対象とした対応するアノテーションを使用して、それらをサービスレベルで設定できます。
前提条件
- Red Hat OpenShift パイプラインがクラスターにインストールされている。
-
OpenShift (
oc
) CLI がインストールされている。 -
Knative (
kn
) CLI がインストールされている。
手順
リソースのリクエストと制限を使用して、サービスの configmap を変更します。
apiVersion: serving.knative.dev/v1 kind: Service metadata: name: example-service namespace: default spec: template: metadata: annotations: queue.sidecar.serving.knative.dev/cpu-resource-request: "1" queue.sidecar.serving.knative.dev/cpu-resource-limit: "2" queue.sidecar.serving.knative.dev/memory-resource-request: "1Gi" queue.sidecar.serving.knative.dev/memory-resource-limit: "2Gi" queue.sidecar.serving.knative.dev/ephemeral-storage-resource-request: "400Mi" queue.sidecar.serving.knative.dev/ephemeral-storage-resource-limit: "450Mi"
あるいは、特別な
queue.sidecar.serving.knative.dev/resource-percentage
アノテーションを使用することもできます。これにより、アプリケーションコンテナーのパーセンテージとして Queue Proxy リソースが計算されます。CPU およびメモリーのリソース要件がアプリケーションコンテナーの要件から計算され、それらが以下の境界外にある場合、値は境界内に収まるように調整されます。この場合、CPU とメモリーのリソース要件には、次の最小値と最大値の境界が適用されます。表17.1 リソース要件の境界 リソース要件 Min Max CPU request
25m
100 m
CPU limit
40m
500 m
メモリーリクエスト
50 Mi
200Mi
メモリー制限
200Mi
500 Mi
注記対応するリソースアノテーションを使用して、パーセンテージアノテーションと特定のリソース値を同時に設定した場合は、後者が優先されます。
警告queue.sidecar.serving.knative.dev/resource-percentage
アノテーションは現在非推奨であり、OpenShift Serverless の今後のバージョンでは削除される予定です。