k8s容器的资源限制

一、k8s支持内存和cpu的限制nginx

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

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

内存:


app

二、Qos类别blog

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

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

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

 

三、使用k8s资源限制requests

[root@k8s-m ~]# 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
[root@k8s-m ~]# kubectl  describe  pod  nginx-pod|grep QoS
QoS Class:       Burstable
相关文章
相关标签/搜索