4.8 资源需求及资源限制

在 Kubernetes 上,可由容器或Pod请求或消费的“计算资源”是指CPU和内存(RAM),这也是目前仅由的受支持的两种类型。相比较来说,CPU 属于可压缩(compressible)型资源,即资源额度可按需收缩,而内存(当前)则是不可压缩资源,对其执行收缩操作可能会导致某种程度的问题。

目前来说,资源隔离尚且属于容器级别,CPU 和内存资源的配置需要在 Pod 中的容器上进行,每种资源均可由 “requests” 属性定义其请求的确保可用值,即容器运行可能用不到这些额度的资源,但用到时必须要确保有如此多的资源可用,而“limits”属性则用于限制资源可用的最大值,即硬限制,如图 4-12 所示。不过,为了表述方便,人们通常仍然把资源配置称作 Pod 资源的请求和限制,只不过它是指 Pod 内所有容器上某种类型资源的请求和限制的总和。

容器资源需求及资源限制示意图
图 1.6.8 - 容器资源需求及资源限制示意图

在 Kubernetes 系统上,1各单位的CPU相当于虚拟机上的1颗虚拟CPU(vCPU)或物理机上的一个超线程(Hyperthread,或称为一个逻辑 CPU),它支持分数计量方式,一个核心(1 core)相当于 1000 个微核心(millicores),因此500相当于是 0.5 个核心,即二分之一核心。内存的计量方式与日常使用方式相同,默认单位是字节,也可以使用 E、P、T、G、M和K作为单位后缀,或Ei、Pi、Ti、Gi、Mi 和 Ki 形式的单位后缀。

results matching ""

    No results matching ""