注:以下只是在yaml文件中進行資源限制的一個片段,並不是完整的yaml文件,僅是自己的一個隨筆。
1、針對pod的資源限制:
[root@master limit]# vim cgroup-pod.yaml
spec:
containers:
- name: xxx
image: xxx
ports:
- protocol: TCP
containerPort: 80
resources:
limits: #硬限制
cpu: "4"
memory: 2Gi
requests: #運行pod時請求的資源數量
cpu: 260m
memory: 260Mi
2、基於名稱空間的資源限制(可以具體制定限制某一個名稱空間)
1)計算資源配額
[root@master limit]# vim compute-resource.yaml
apiVersion: v1
kind: ResourceQuota
metadata:
name: compute-resources
spec:
hard:
pods: "20" #所有pod數量不可以超過20個
requests.cpu: "20" #初始請求的CPU不可以超過20m
requests.memory: 100Gi #初始請求的內存不可以超過100G
limits.cpu: "40" #CPU的硬限制
limits.memory: 200Gi #內存的硬限制
2)資源對象數量配額限制
[root@master limit]# vim object-counts.yaml
apiVersion: v1
kind: ResourceQuota
metadata:
name: object-counts
spec:
hard:
configmaps: "10" #最多可以創建10個configmap
persistentvolumeclaims: "4" #最多可以創建4個PVC
replicationcontrollers: "20" #最多可以創建20個RC資源對象
secrets: "10" #最多可以創建10個secrets
service.loadbalancers: "2" #最多可以創建2個svc
3)配置CPU和內存的limitRange
[root@master limit]# vim limitRange.yaml
apiVersion: v1
kind: LimitRange
metadata:
name: mem-limit-range
spec:
limits:
- default:
memory: 50Gi #硬限制
cpu: 5 #硬限制
defaultRequest: #初始請求
memory: 1Gi
cpu: 1
type: Container #限制對象爲容器
———————— 本文至此結束,感謝閱讀 ————————