第 14 章 配置队列代理资源
Queue Proxy 是服务中每个应用程序容器的 sidecar 容器。它改进了管理 Serverless 工作负载,确保有效的资源使用量。您可以配置 Queue Proxy。
14.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 和内存资源要求:表 14.1. 资源要求边界 资源要求 Min Max CPU 请求
25m
100m
CPU 限制
40m
500m
内存请求
50Mi
200Mi
内存限制
200Mi
500Mi
注意如果您同时使用对应的资源注解设置了百分比注解和特定资源值,则后者将具有优先权。
警告queue.sidecar.serving.knative.dev/resource-percentage
注解现已弃用,并将在以后的发行版本中删除。