Published: 02 Jun 2018 › Updated: 02 Jun 2018

kubernetes中LimitRange的理解
kubernetes中LimitRange的理解
今天学习了LimitRange,大概总结一下LimitRange的用法,LimitRange是在pod和container级别的资源限制,先看以下的例子:
apiVersion: v1
kind: LimitRange
metadata:
name: mylimits
spec:
limits:
- max:
cpu: "4"
memory: 2Gi
min:
cpu: 200m
memory: 6Mi
maxLimitRequestRatio:
cpu: 3
memory: 2
type: Pod
- default:
cpu: 300m
memory: 200Mi
defaultRequest:
cpu: 200m
memory: 100Mi
max:
cpu: "2"
memory: 1Gi
min:
cpu: 100m
memory: 3Mi
maxLimitRequestRatio:
cpu: 5
memory: 4
type: Container
pod部分:
max表示pod中所有容器资源的Limit值和的上限,也就是整个pod资源的最大Limit,如果pod定义中的Limit值大于LimitRange中的值,则pod无法成功创建。min表示pod中所有容器资源请求总和的下限,也就是所有容器request的资源总和不能小于min中的值,否则pod无法成功创建。maxLimitRequestRatio表示pod中所有容器资源请求的Limit值和request值比值的上限,例如该pod中cpu的Limit值为3,而request为0.5,此时比值为6,创建pod将会失败。
container部分
- 在
container的部分,max、min和maxLimitRequestRatio的含义和pod中的类似,只不过是针对单个的容器而言。下面说明几个情况:
如果
container设置了max,pod中的容器必须设置limit,如果未设置,则使用defaultlimt的值,如果defaultlimit也没有设置,则无法成功创建
如果设置了
container的min,创建容器的时候必须设置request的值,如果没有设置,则使用defaultrequest,如果没有defaultrequest,则默认等于容器的limit值,如果limit也没有,启动就会报错
defaultrequest和defaultlimit则是默认值,注意:pod级别没有这两项设置
将limitrange应用于namespace就生效了,例如:
kubectl create -f limitrange-example.yaml --namespace=namespace-exampleLeave kubernetes中LimitRange的理解 to:
Read more #kubernetes posts
Best Posts From pmliang
We have not curated any of pmliang's posts yet. But you can encourage our curation team to review posts by visiting them regularly and by referring other readers. Because we give priority to frequently read content.