在Kubernetes中,通过Pod的resources
字段设置资源配额和限制,包括requests
(调度时预留资源)和limits
(运行时上限)。例如:
containers:
- name: my-container
resources:
requests:
cpu: "0.5"
memory: "512Mi"
limits:
cpu: "1"
memory: "1Gi"
延伸知识点:ResourceQuota(资源配额)
ResourceQuota用于限制命名空间级别的总资源使用,防止资源耗尽。创建ResourceQuota后,所有Pod的资源请求需在其约束范围内。例如:
apiVersion: v1
kind: ResourceQuota
metadata:
name: example-quota
spec:
hard:
requests.cpu: "2"
requests.memory: 4Gi
limits.cpu: "4"
limits.memory: 8Gi
pods: "10"
requests.cpu/memory
:命名空间内所有Pod的CPU/内存请求总和上限
limits.cpu/memory
:所有Pod的CPU/内存限制总和上限
pods
:允许的最大Pod数量。若未满足配额条件,Pod创建将被拒绝。