k8s資源限制

注:以下只是在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        #限制對象爲容器

———————— 本文至此結束,感謝閱讀 ————————

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章