Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Describe how to set qp resources #5617

Merged
merged 2 commits into from
Jul 13, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 43 additions & 1 deletion docs/serving/services/configure-requests-limits-services.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we want to mention about ephemeral-storage's boundaries (I guess no boundaries?) here?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are no boundaries afaik.



!!! 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
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
### Additional resources
## Additional resources

It is better to use same head?

currently:
image

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure if that belongs to that level. I moved it on down to align with the change.


* For more information requests and limits for Kubernetes resources, see [Managing Resources for Containers](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/).
Loading