当前位置:  首页>> 技术小册>> Kubernets合辑9-资源约束

  1. apiVersion: v1
  2. kind: ResourceQuota
  3. metadata:
  4. name: computer-resource
  5. namespace: apps
  6. spec:
  7. hard:
  8. requests.cpu: 1000m
  9. requests.memory: 2048Mi
  10. limits.cpu: 6000m
  11. limits.memory: 8192Mi
  1. [root@maxiaoke local-k8s-yaml]# kubectl describe ns apps # 因为之前存在的pod-demo导致Used不为空
  2. Name: apps
  3. Labels: <none>
  4. Annotations: Status: Active
  5. Resource Quotas
  6. Name: computer-resource
  7. Resource Used Hard
  8. -------- --- ---
  9. limits.cpu 500m 6
  10. limits.memory 2Gi 8Gi
  11. requests.cpu 200m 1
  12. requests.memory 512Mi 2Gi
  13. Resource Limits
  14. Type Resource Min Max Default Request Default Limit Max Limit/Request Ratio
  15. ---- -------- --- --- --------------- ------------- -----------------------
  16. Container cpu 50m 1 100m 500m -
  17. Container memory 64Mi 2Gi 128Mi 1Gi -
  1. apiVersion: apps/v1
  2. kind: Deployment
  3. metadata:
  4. name: slb-deploy
  5. namespace: apps
  6. spec:
  7. replicas: 1
  8. selector:
  9. matchLabels:
  10. app: slb
  11. template:
  12. metadata:
  13. labels:
  14. app: slb
  15. spec:
  16. containers:
  17. - name: slb-demo
  18. image: linuxmaxiaoke/nginx:v1.0.0
  19. resources:
  20. limits:
  21. memory: 1024Mi
  22. cpu: 500m
  1. [root@maxiaoke local-k8s-yaml]# kubectl get deployments.apps -n apps # 副本数为1时,可以运行
  2. NAME READY UP-TO-DATE AVAILABLE AGE
  3. slb-deploy 1/1 1 1 6m2s
  4. [root@maxiaoke local-k8s-yaml]# kubectl describe ns apps
  5. Name: apps
  6. Labels: <none>
  7. Annotations: Status: Active
  8. Resource Quotas
  9. Name: computer-resource
  10. Resource Used Hard
  11. -------- --- ---
  12. limits.cpu 500m 6
  13. limits.memory 1Gi 8Gi
  14. requests.cpu 500m 1
  15. requests.memory 1Gi 2Gi
  1. [root@maxiaoke local-k8s-yaml]# kubectl get deployments.apps -n apps # 副本数为2时,达到极限了
  2. NAME READY UP-TO-DATE AVAILABLE AGE
  3. slb-deploy 2/2 2 2 6m51s
  4. [root@maxiaoke local-k8s-yaml]# kubectl describe ns apps
  5. Name: apps
  6. Labels: <none>
  7. Annotations: Status: Active
  8. Resource Quotas
  9. Name: computer-resource
  10. Resource Used Hard
  11. -------- --- ---
  12. limits.cpu 1 6
  13. limits.memory 2Gi 8Gi
  14. requests.cpu 1 1
  15. requests.memory 2Gi 2Gi
  1. [root@maxiaoke local-k8s-yaml]# kubectl get deployments.apps -n apps # 因为第三个副本超了requests配额,无法启动
  2. NAME READY UP-TO-DATE AVAILABLE AGE
  3. slb-deploy 2/3 2 2 10m
  4. [root@maxiaoke local-k8s-yaml]# kubectl describe ns apps
  5. Name: apps
  6. Labels: <none>
  7. Annotations: Status: Active
  8. Resource Quotas
  9. Name: computer-resource
  10. Resource Used Hard
  11. -------- --- ---
  12. limits.cpu 1 6
  13. limits.memory 2Gi 8Gi
  14. requests.cpu 1 1
  15. requests.memory 2Gi 2Gi

该分类下的相关小册推荐: