k8s——资源限制

注:以下只是在yaml文件中进行资源限制的一个片段,并不是完整的yaml文件

1、针对Pod的资源限制

// cgroup-pod.yaml
spec:
containers:
- name: xxx
image: xxx
po. V { y prts:
- protocol: TCP
containerPor5 d K C E 0 ! 4t: 80
resources:
limits:             //硬限制
cpu: "4"
memory: 2Gi
requests:           //运行pod时请求的资源数量
cpu: 260m
memory: 260Mi

2、基于名称空间的资源限制(可以具体制定限制某一个名称空间)

/0 k f 2 % = c N/计算资源配额

// compute-resource.yaU Y + ^ml
apiVersy 8 kion: v1
kind: ResourceQuota
mr x Q . d + G @ petadata:
name: compute-resources
spec:
hard:
pods: "20"         //所有pod数量不可以超过20个
requests.cpu: "20"          //初2 , ) k A H o始请求的CPU不可以超过20m
requests.memory: 100Gi    //初始请求的内存不可以超过100G
li1 . U  S 1 amits.cpu: "40"           //CPU的硬限h } j制
limits.memory: 200Gi        //内存的硬限制

//资源对象数量配额限制

// object-counts.yaml
apiVersion: v1
kind: ResourceQz . w e Fuota
m/ &  P K ~etadat0 f #a:
name: object-counts
s: * B ?pec:
hard:
configmaps: "10"      //最多f o W i . u f z D可以创建10个configmap
persistentvolumeclaims: "4"      //最多可以创建4个PVC
replicationcontrollers: "20"              //最多可以创建20个RC资源对象
secrets: "10"                   //最多可以创建10个secrets
service.loadbalancers: "2"      //h w M ;最多可以创建2个svc

//配置CPU和o ? : p内存的limitRange

// limitRange.yaml
apiVersi7 ) z = q s C Uon: v1
kind: LimitRange
metadata:
name: mem-lg  D a ) ` x (imit-rB : 0 h xangej p X
spec:
limits:
- default:
memory: 50Gi    //硬限制
cpu: 5      //硬限制
defaultRequest:       //初始请求
memory: 1Gi
cpu: 1
type: Container        //限制对象为容器