This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.5.4. 管理每个节点的 pod 数量上限
在 OpenShift Container Platform 中,您可以根据节点上的处理器内核数和/或硬限制,来配置可在节点上运行的 pod 数量。如果您同时使用这两个选项,则取两者中较小的限制来限制节点上的 pod 数。
超过这些值可能会导致:
- OpenShift Container Platform CPU 使用率提高。
- pod 调度缓慢。
- 潜在的内存不足情形,具体取决于节点中的内存量。
- IP 地址池耗尽。
- 资源过量使用,导致用户应用程序性能变差。
包含单个容器的一个 pod 实际上会使用两个容器。第二个容器在容器实际启动前先设置了网络。因此,运行 10 个 pod 的节点实际上运行有 20 个容器。
podsPerCore
参数根据节点的处理器内核数限制节点上可运行的 pod 数量。例如,如果将一个有 4 个处理器内核的节点上的 podsPerCore
设置为 10
,则该节点上允许的 pod 数量上限为 40。
maxPods
参数将节点上可运行的 pod 数量限制为一个固定值,不考虑节点的属性。
5.4.1. 配置每个节点的最大 pod 数量 复制链接链接已复制到粘贴板!
有两个参数控制可调度到节点的 pod 数量上限,分别为 podsPerCore
和 maxPods
。如果您同时使用这两个选项,则取两者中较小的限制来限制节点上的 pod 数。
例如,如果将一个有 4 个处理器内核的节点上的 podsPerCore
设置为 10
,则该节点上允许的 pod 数量上限为 40。
先决条件
为您要配置的节点类型获取与静态
MachineConfigPool
CRD 关联的标签。执行以下步骤之一:查看机器配置池:
oc describe machineconfigpool <name>
$ oc describe machineconfigpool <name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例如:
oc describe machineconfigpool worker
$ oc describe machineconfigpool worker
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 如果添加了标签,它会出现在
labels
下。
如果标签不存在,则添加一个键/值对:
oc label machineconfigpool worker custom-kubelet=small-pods
$ oc label machineconfigpool worker custom-kubelet=small-pods
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
流程
为配置更改创建自定义资源 (CR)。
max-pods
CR 配置示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意将
podsPerCore
设置为0
可禁用这个限制。在上例中,
podsPerCore
的默认值为10
,maxPods
的默认值则为250
。这意味着,除非节点有 25 个以上的内核,否则podsPerCore
就是默认的限制因素。列出
MachineConfigPool
CRD 以查看是否应用了更改。如果 Machine Config Controller 抓取到更改,则UPDATING
列会报告True
:oc get machineconfigpools
$ oc get machineconfigpools
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
NAME CONFIG UPDATED UPDATING DEGRADED master master-9cc2c72f205e103bb534 False False False worker worker-8cecd1236b33ee3f8a5e False True False
NAME CONFIG UPDATED UPDATING DEGRADED master master-9cc2c72f205e103bb534 False False False worker worker-8cecd1236b33ee3f8a5e False True False
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 更改完成后,
UPDATED
列会报告True
。oc get machineconfigpools
$ oc get machineconfigpools
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
NAME CONFIG UPDATED UPDATING DEGRADED master master-9cc2c72f205e103bb534 False True False worker worker-8cecd1236b33ee3f8a5e True False False
NAME CONFIG UPDATED UPDATING DEGRADED master master-9cc2c72f205e103bb534 False True False worker worker-8cecd1236b33ee3f8a5e True False False
Copy to Clipboard Copied! Toggle word wrap Toggle overflow