14.4. 计算资源


在节点上运行的每个容器都会消耗计算资源,这些资源是可处理、分配和使用的可测量数量。

在编写 pod 配置文件时,您可以选择性地指定 CPU、内存(RAM)和本地临时存储(如果管理员启用了临时存储技术预览)的数量,以便更好地在集群中调度 pod,并确保集群中调度 pod 的性能。

CPU 以名为 millicores 的单位来衡量。集群中的每个节点检查操作系统以确定节点上的 CPU 内核数,然后将该值乘以 1000 以表示其总容量。例如,如果某个节点有 2 个内核,则节点的 CPU 容量将代表为 2000m。如果您要使用单个内核的 1/10,它将表示为 100m。

内存和临时存储以字节为单位。另外,它可以被与 SI 后缀(E、P、T、G、M、K)或其电源一起使用(Ei、P、Ti、Gi、Mi Ki)。

apiVersion: v1
kind: Pod
spec:
  containers:
  - image: openshift/hello-openshift
    name: hello-openshift
    resources:
      requests:
        cpu: 100m 1
        memory: 200Mi 2
        ephemeral-storage: 1Gi 3
      limits:
        cpu: 200m 4
        memory: 400Mi 5
        ephemeral-storage: 2Gi 6
1
容器请求 100m CPU。
2
容器请求 200Mi 内存。
3
容器请求 1Gi 临时存储。您的管理员必须启用临时存储技术预览功能来指定这个参数值。
4
容器限制 200m CPU。
5
容器会限制 400Mi 内存。
6
容器会限制 2Gi 临时存储。您的管理员必须启用临时存储技术预览功能来指定这个参数值。

14.4.1. CPU 请求

pod 中的每个容器可以指定其在节点上请求的 CPU 数量。调度程序使用 CPU 请求来查找适合容器的节点。

CPU 请求代表容器可能会消耗的最小 CPU 量,但如果没有 CPU 争用,它可以使用节点上的所有可用 CPU。如果节点上有 CPU 争用,则 CPU 请求将为系统上的所有容器提供相对权重,以获取有关容器可以使用的 CPU 时间。

在节点上,CPU 请求映射到内核 CFS 共享来强制实施此行为。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.