Kubernetes CPU内存资源限定

2023-04-23  本文已影响0人  xiaolyuh

在 Kubernetes 中创建工作负载时,您可以为 Pod 中的每一个容器指定其所需要的内存(RAM)大小和 CPU 数量。如果这些信息被指定了,Kubernetes 调度器可以更好的决定将 Pod 调度到哪一个节点。对于容器来说,其所需要的资源也将依据其指定的数值得到保证。

资源类型及计量

当我们讨论计算资源的时候,主要是指 CPU 和 内存。CPU 的计量单位是内核的单元数,内存的计量单位是 byte 字节数。应用程序可以按量请求、分配、消耗计算资源。

CPU 的计量

在 Kubernetes 中,1 个 CPU 代表:

TIP
在 top 命令查看CPU消耗,100% 代表 1核;4核为 400%;10% 代表 0.1 核 或者 100m

内存的计量

内存的计量单位是 byte 字节。您可以使用一个整数来表达内存的大小,也可以使用后缀来表示(E、P、T、G、M、K)。您也可以使用 2 的幂数来表示内存大小,其后缀为(Ei、Pi、Ti、Gi、Mi、Ki)。例如,下面的几个表达方式所表示的内存大小大致相等:

128974848, 129e6, 129M, 123Mi

示例

单位m:CPU的计量单位叫毫核(m)。一个节点的CPU核心数量乘以1000,得到的就是节点总的CPU总数量。如,一个节点有两个核,那么该节点的CPU总量为2000m。

下面拿双核举例:

resources:
  requests:
    cpu: 200m            # 请求时申请CPU资源为0.2核
    memory: 256Mi        # 请求时申请内存资源为256M
  limits:
    cpu: 500m            # 限定CPU资源上限为0.5核
    memory: 512Mi        # 限定内存资源上限为512M

含义:该容器启动时请求200/2000的核心(10%)并且允许最多使用500/2000核心(25%)。

参考

管理容器的计算资源

上一篇 下一篇

猜你喜欢

热点阅读