从零开始入门 K8s | Kubernetes 调度和资源管理(11)

在扩展资源上 , Kubernetes 有一个要求 , 即扩展资源必须是整数的 , 所以我们没法申请到 0.5 的 GPU 这样的资源 , 只能申请 1 个 GPU 或者 2 个 GPU 。

这里为大家介绍完了基础资源的申请方式 。

接下来 , 我会详细给大家介绍一下 request 和 limit 到底有什么区别 , 以及如何通过 request/limit 来表示 QoS 。

Pod QoS 类型

K8S 在 pod resources 里面提供了两种填写方式:第一种是 request , 第二种是 limit 。

它其实是为用户提供了对 Pod 一种弹性能力的定义 。 比如说我们可以对 request 填 2 个 CPU , 对 limit 填 4 个 CPU , 这样代表了我希望是有 2 个 CPU 的保底能力 , 但其实在闲置的时候 , 可以使用 4 个 GPU 。

说到这个弹性能力 , 我们不得不提到一个概念:QoS 的概念 。 什么是 QoS呢?QoS 全称是 Quality of Service , 它是 Kubernetes 用来表达一个 pod 在资源能力上的服务质量的标准 , Kubernetes 提供了三类 QoS Class:

推荐阅读