14.4. 计算资源
在节点上运行的每个容器都会消耗计算资源,这些资源是可处理、分配和使用的可测量数量。
在编写 pod 配置文件时,您可以选择指定每个容器需要的 CPU 和内存(RAM)的大小,以便更好地在集群中调度 pod 并确保满意的性能。
CPU 以名为 millicores 的单位来衡量。集群中的每个节点检查操作系统以确定节点上的 CPU 内核数,然后将该值乘以 1000 以表示其总容量。例如,如果某个节点有 2 个内核,则节点的 CPU 容量将代表为 2000m。如果您要使用单个内核的 1/10,它将表示为 100m。
内存以字节为单位。此外,它可用于 SI suices(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 limits: cpu: 200m 3 memory: 400Mi 4
14.4.1. CPU 请求
pod 中的每个容器可以指定其在节点上请求的 CPU 数量。调度程序使用 CPU 请求来查找适合容器的节点。
CPU 请求代表容器可能会消耗的最小 CPU 量,但如果没有 CPU 争用,它可以使用节点上的所有可用 CPU。如果节点上有 CPU 争用,则 CPU 请求将为系统上的所有容器提供相对权重,以获取有关容器可以使用的 CPU 时间。
在节点上,CPU 请求映射到内核 CFS 共享来强制实施此行为。