設定資源請求和限制¶
您可以為個別 Knative 服務設定資源限制和請求,特別是針對 CPU 和記憶體。
以下範例顯示如何為服務設定 requests
和 limits
欄位
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
設定佇列 Proxy 資源¶
為了設定佇列 Proxy 資源請求和限制,您可以在 部署配置映射 中全域設定,也可以使用針對 cpu、memory 和 ephemeral-storage 資源類型的相應註釋,在服務層級設定它們。上面的範例變成
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
,將佇列 Proxy 資源計算為應用程式容器的百分比。在這種情況下,cpu 和記憶體資源需求有最小和最大邊界
資源需求 | 最小 | 最大 |
---|---|---|
Cpu 請求 | 25m | 100m |
Cpu 限制 | 40m | 500m |
記憶體請求 | 50Mi | 200Mi |
記憶體限制 | 200Mi | 500Mi |
注意
如果使用者同時設定百分比註釋和透過相應資源註釋設定的特定資源值,則以後者為優先。
警告
queue.sidecar.serving.knative.dev/resource-percentage
註釋現在已棄用,並將在未來版本中移除。
其他資源¶
- 有關 Kubernetes 資源的更多請求和限制資訊,請參閱管理容器資源。