k8s资源限制

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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        #限制对象为容器

———————— 本文至此结束,感谢阅读 ————————

以上是关于k8s资源限制的主要内容,如果未能解决你的问题,请参考以下文章

k8s容器资源限制,资源监控

k8s容器资源限制,资源监控

Kubernetes(k8s)之容器资源限制

k8s的资源限制及资源请求

k8s容器的资源限制

K8S中Pod的进阶(资源限制和探针)