可以像这样创建资源配额对象:
apiVersion: v1
kind: ResourceQuota
metadata:
name: mem-cpu-demo
spec:
hard:
requests.cpu: "1"
requests.memory: 1Gi
limits.cpu: "2"
limits.memory: 2Gi
但是,为了检查 pod 消耗,有一些先决条件:
- 每个Container都必须有内存请求、内存限制、cpu
请求和 CPU 限制。
- 所有容器的内存请求总量不得超过 1 GiB。
- 所有容器的总内存限制不得超过 2 GiB。
- 所有容器的 CPU 请求总数不得超过 1 个 cpu。
- 所有容器的 CPU 限制总数不得超过 2 cpu。
Pod 示例模板
apiVersion: v1
kind: Pod
metadata:
name: quota-mem-cpu-demo
spec:
containers:
- name: quota-mem-cpu-demo-ctr
image: nginx
resources:
limits:
memory: "800Mi"
cpu: "800m"
requests:
memory: "600Mi"
cpu: "400m"
要检查资源消耗,请使用以下命令:
kubectl --context <cluster_context> describe resourcequota -n my-namespace
来源:
https://kubernetes.io/docs/tasks/administer-cluster/manage-resources/quota-memory-cpu-namespace/