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
14.4.1. CPU 请求
pod 中的每个容器可以指定其在节点上请求的 CPU 数量。调度程序使用 CPU 请求来查找适合容器的节点。
CPU 请求代表容器可能会消耗的最小 CPU 量,但如果没有 CPU 争用,它可以使用节点上的所有可用 CPU。如果节点上有 CPU 争用,则 CPU 请求将为系统上的所有容器提供相对权重,以获取有关容器可以使用的 CPU 时间。
在节点上,CPU 请求映射到内核 CFS 共享来强制实施此行为。