二十八、Qos服务质量

Qos服务质量

一、产生原因

Resources也不是万能的,使用一段时间后,资源总量可能会超过接节点配置。

二十八、Qos服务质量_第1张图片

根据这个情况,我们可以设置,清除资源。给pod配置,按顺序删除


二、服务质量QoS分类

  • Guaranteed最高服务质量(保证),当宿主机内存不够时,会先kill掉QoS为BestEffort和Burstable的Pod,如果内存还是不够,才会kill掉QoS为Guaranteed,该级别Pod的资源占用量一般比较明确,即requests的cpu和memory和limits的cpu和memory配置的一致

  • Burstable: 服务质量低于Guaranteed(突发),当宿主机内存不够时,会先kill掉QoS为BestEffort的Pod,如果内存还是不够之后就会kill掉QoS级别为Burstable的Pod,用来保证QoS质量为Guaranteed的Pod,该级别Pod一般知道最小资源使用量,但是当机器资源充足时,还是想尽可能的使用更多的资源,即limits字段的cpu和memory 大于 requests的cpu和memory的配置

  • BestEffort:尽力而为,当宿主机内存不够时,首先kill的就是该QoS的Pod,用以保证Burstable和Guaranteed级别的Pod正常运行。不配置参数。

杀掉顺序:

BestEffort------>Burstable------->Guaranteed


三、实践示例

示例1:实现QoS为Guaranteed的Pod

测试要换个命名空间,要不有limitrange的会自动的打上资源配置。

创建一个命名空间

[root@k8s-master01 qos]#kubectl create ns qos-example
namespace/qos-example created
[root@k8s-master01 qos]#kubectl get ns
NAME                   STATUS   AGE
......
qos-example            Active   13s

编写yaml文件

apiVersion: v1
kind: Pod
metadata:
  name: qos-demo
  nam

你可能感兴趣的:(Kubernetes,kubernetes,运维,容器)