リソースのリクエストと制限の構成¶
個々のKnativeサービス向けに、特にCPUとメモリについて、リソースの制限とリクエストを構成できます。
次の例は、サービスに対して requests
と limits
フィールドを設定する方法を示します
apiVersion: serving.knative.dev/v1
kind: Service
metadata:
name: example-service
namespace: default
spec:
template:
spec:
containers:
- image: docker.io/user/example-app
resources:
requests:
cpu: 100m
memory: 640M
limits:
cpu: 1
キュー プロキシリソースの設定¶
キュー プロキシリソースのリクエストと制限を設定するには、デプロイメントの config マップ でそれらをグローバルに設定するか、cpu、メモリ、一時ストレージリソースタイプを対象とした対応するアノテーションを使用してサービスレベルで設定できます上記の例は
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"
spec:
...
または、キュー プロキシリソースをアプリケーションのコンテナの割合として計算する特別なアノテーション queue.sidecar.serving.knative.dev/resource-percentage
を使用することもできます。この場合、最小、最大の境界が CPU とメモリの資源要件に適用されます
リソース要件 | 最小 | 最大 |
---|---|---|
CPU リクエスト | 25m | 100m |
CPU 制限 | 40m | 500m |
メモリーのリクエスト | 50Mi | 200Mi |
メモリーの制限 | 200Mi | 500Mi |
注
ユーザーがパーセンテージアノテーションと特定のリソース値を対応するリソースアノテーションを介して同時に設定した場合、後者が優先されます。
警告
queue.sidecar.serving.knative.dev/resource-percentage
アノテーションは現在非推奨であり、今後のバージョンで削除されます。
追加リソース¶
- Kubernetes リソースのリクエストと制限の詳細については、コンテナのリソースの管理 を参照してください。