k8s容器的资源限制

Posted zhangb8042

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了k8s容器的资源限制相关的知识,希望对你有一定的参考价值。

1、k8s支持内存和cpu的限制

requests:容器运行需求,最低保障
limits:限制,硬限制(资源上限)

CPU: 1颗逻辑CPU(1核CPU=4个逻辑CPU)
1物理核=1000个微核(millicores)
1000m=1CPU

内存:


2、Qos类别

Qos类别:
1、Guranteed:(优选级最高)
(每个容器)同时设置了CPU和内存的requests和limits,cpu.limits=cpu.requests,memory.limits=memory。request

2、 Burstable:(优先级第二)
至少有一个容器设置了CPU或内存资源的requests属性
3、BestEffort:
没有任何一个容器设置了requests或limits属性
当资源不够使用时,BestEffort状态的容器会被优先终止(根据优先级终止)

k8s是以资源的实际占用量和requests设置的需求量的比例,优先终止实际占用量和requests的需求量高的
(例如设置requests为512M的内存,实际使用500M与requests为1g,实际使用600M,会优先终止使用500M容器的pod)

 

3、使用k8s资源限制

[[email protected] ~]# cat   mypod1.yaml
apiVersion: v1
kind: Pod
metadata:
  name: nginx-pod
  labels: 
    app: my-pod
spec:
  containers:
  - name: my-pod
    image: nginx
    ports:
    - name: http
      containerPort: 80
    resources:
      requests:  
        cpu: "250m"
        memory: "64Mi"
      limits: #资源最高限制
        memory: "128Mi"
        cpu: "500m" #0.5核cpu 

#查看QoS
[[email protected] ~]# kubectl  describe  pod  nginx-pod|grep QoS
QoS Class:       Burstable

  
















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

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

Kubernetes(k8s)之容器资源限制

k8s容器的资源限制

k8s—pod进阶(资源限制,健康检查)

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

k8s的资源限制及资源请求