第 17 章 配置队列代理资源
Queue Proxy 是服务中的每个应用程序容器的 sidecar 容器。它提高了管理 Serverless 工作负载,确保有效的资源使用量。您可以配置 Queue Proxy。
17.1. 为 Knative Service 配置队列代理资源
除了在部署 configmap 中全局配置 Queue Proxy 资源请求和限值外,您还可以使用针对 CPU、内存和临时存储资源类型的对应注解在服务级别设置它们。
先决条件
- 在集群中必须安装 Red Hat OpenShift Pipelines。
-
已安装 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 请求
25m
100m
CPU 限制
40m
500m
内存请求
50Mi
200Mi
内存限制
200Mi
500Mi
注意如果您使用对应的资源注解同时设置百分比注解和特定资源值,则后者具有优先权。
警告queue.sidecar.serving.knative.dev/resource-percentage
注解现已弃用,并将在以后的 OpenShift Serverless 版本中删除。