跳至内容

配置资源请求和限制

您可以为各个 Knative 服务配置资源限制和请求,特别是对于 CPU 和内存。

以下示例展示了如何设置服务的 requestslimits 字段

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

配置队列代理资源

为了设置队列代理资源请求和限制,您可以全局地在 部署配置映射 中设置,或者使用针对 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 注释现已弃用,将在未来版本中删除。

其他资源

我们使用分析和 cookie 来了解网站流量。有关您使用我们网站的信息将与 Google 共享,用于该目的。 了解更多