第 5 章 配置 PID 限制
进程标识符(PID)是 Linux 内核分配给系统中当前运行的每个进程或线程的唯一标识符。在系统上可以同时运行的进程数量限制为 4、194、304、Linux 内核。这个数字也可能受对其他系统资源(如内存、CPU 和磁盘空间)的有限访问的影响。
在 Red Hat OpenShift Service on AWS 4.11 及更新的版本中,pod 最多可以有 4,096 PID。如果您的工作负载需要超过这个对象,您可以通过配置 KubeletConfig
对象来增加允许的最大 PID 数量。
运行早于 4.11 的 Red Hat OpenShift Service on AWS 集群使用默认的 PID 限制 1024
。
5.1. 了解进程 ID 限制
在 Red Hat OpenShift Service on AWS 中,在调度集群中工作前,请考虑为进程 ID (PID)使用的两个支持限制:
每个 pod 的最大 PID 数量。
在 Red Hat OpenShift Service on AWS 4.11 及更高版本中,默认值为 4,096。这个值由节点上设置的
podPidsLimit
参数控制。每个节点的最大 PID 数量。
默认值取决于 节点资源。在 Red Hat OpenShift Service on AWS 中,这个值由
--system-reserved
参数控制,该参数会根据节点的总资源在每个节点上保留 PID。
当 pod 超过每个 pod 允许的最大 PID 数量时,pod 可能会停止正常工作,并可能会从节点驱除。如需更多信息 ,请参阅 Kubernetes 文档中的驱除信号和阈值。
当节点超过每个节点允许的最大 PID 数量时,节点可能会变得不稳定,因为新进程无法分配 PID。如果在不创建额外进程的情况下无法完成现有进程,则整个节点都可以不可用,需要重启。这种情况可能会导致数据丢失,具体取决于运行进程和应用程序。当达到这个阈值时,客户管理员和 Red Hat Site Reliability Engineering 会收到通知,Worker 节点遇到 PIDPressure
警告将出现在集群日志中。