k8s容器的資源限制
阿新 • • 發佈:2019-01-01
mit data 資源 需求量 bash its container highlight true
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資源限制
[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
k8s容器的資源限制