CPU是可压缩资源,当CPU不足时POD只会饥饿不会退出。内存和硬盘是不可压缩资源,当不可压缩资源不足时,POD就会由于OOM等被内核杀掉 Kubernetes 里为 CPU 设置的单位是“CPU 的个数”。比如,cpu=1 指的就是,这个 Pod 的 CPU 限额是 1 个 CPU。当然,详细“1 个 CPU”在宿主机上如何解释,是 1 个 CPU 焦点,还是 1 个 vCPU,还是 1 个 CPU 的超线程(Hyperthread),完全取决于宿主机的 CPU 实现方式。Kubernetes 只负责保证 Pod 能够使用到“1 个 CPU”的盘算本领。
k8s 三种 QoS 等级: Guaranteed(可保证的)、Burstable(突发的)、BestEffort(尽力而为的)如下所示:
只要有一个 container 设置了 requests 就行 而假如一个 Pod 既没有设置 requests,也没有设置 limits,那么它的 QoS 类别就是 BestEffort。比如下面这个例子:
注意,是“不可压缩资源”的短缺。 Kubernetes 为你设置的 Eviction 的默认阈值如下所示
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) | Powered by Discuz! X3.4 |