51学通信论坛2017新版
标题:
Q:k8s中资源限制,request和limit的资源有什么区别?
[打印本页]
作者:
admin
时间:
2021-4-11 14:48
标题:
Q:k8s中资源限制,request和limit的资源有什么区别?
Q:k8s中资源限制,request和limit的资源有什么区别?
A:
Kubernetes通过cgroups限制容器的CPU和内存等计算资源, 包括requests( 请求, 调度器保证调度到资源充足的Node上) 和limits( 上限) 等:
-spec.containers[].resources.limits.cpu : CPU上限, 可以短暂超过, 容器也不会被停止
-spec.containers[].resources.limits.memory : 内存上限, 不可以超过; 如果超过, 容器可能会被停止或调度到其他资源充足的机器上
-spec.containers[].resources.requests.cpu : CPU请求, 可以超过
-spec.containers[].resources.requests.memory : 内存请求, 可以超过; 但如果超过, 容器可能会在Node内存不足时清理
比如nginx容器请求30%的CPU和56MB的内存, 但限制最多只用50%的CPU和128MB的内存:注意, CPU的单位是milicpu, 500mcpu=0.5cpu; 而内存的单位则包括E, P, T, G, M, K,
Ei, Pi, Ti, Gi, Mi, Ki等。
apiVersion: v1
kind: Pod
metadata:
labels:
app: nginx
name: nginx
spec:
containers:
- image: nginx
name: nginx
resources:
requests:
cpu: "300m"
memory: "56Mi"
limits:
cpu: "500m"
memory: "128Mi"
复制代码
欢迎光临 51学通信论坛2017新版 (http://bbs.51xuetongxin.com/)
Powered by Discuz! X3