Describe how to set qp resources (#5617)

* add docs for how to set qp resources

* fix
This commit is contained in:
Stavros Kontopoulos 2023-07-13 09:47:15 +03:00 committed by GitHub
parent 2b2fb00b9f
commit a65dbda136
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 43 additions and 1 deletions

View File

@ -23,6 +23,48 @@ spec:
cpu: 1
```
## Additional resources
## Configure Queue Proxy resources
In order to set the Queue Proxy resource requests and limits you can either
set them globally in the [deployment config map](../configuration/deployment.md) or you can set them at the service level using the corresponding annotations targeting cpu, memory and ephemeral-storage resource types. The above example becomes:
```yaml
apiVersion: serving.knative.dev/v1
kind: Service
metadata:
name: example-service
namespace: default
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:
template:
spec:
...
```
Alternatively, you could use a special annotation `queue.sidecar.serving.knative.dev/resource-percentage` that calculates the Queue Proxy resources as a percentage of the application's container.
In this case there are min, max boundaries applied to the cpu and memory resource requirements:
| Resource Requirements | Min | Max |
|-------------------------------------------|---------|---------|
| Cpu Request | 25m | 100m |
| Cpu Limit | 40m | 500m |
| Memory Request | 50Mi | 200Mi |
| Memory Limit | 200Mi | 500Mi |
!!! note
If the user simultaneously sets a percentage annotation and a specific resource value via the corresponding resource annotation then the latter takes precedence.
!!! warning
The `queue.sidecar.serving.knative.dev/resource-percentage` annotation is now deprecated and will be removed in future versions.
### Additional resources
* For more information requests and limits for Kubernetes resources, see [Managing Resources for Containers](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/).