第 5 章 配置 PID 限制
进程标识符(PID)是由 Linux 内核分配给系统中当前运行的每个进程或线程的唯一标识符。在 Linux 内核中限制了可以在系统中同时运行的进程数量为 4,194,304。这个数字也可能会受到限制访问其他系统资源(如内存、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。如果在不创建额外的进程的情况下现有进程无法完成,则整个节点可能会不可用,需要重启。这种情况可能会导致数据丢失,具体取决于正在运行的进程和应用程序。达到这个阈值时,客户管理员和红帽站点可靠性工程团队会获得通知,在集群日志中会出现 Worker node is experiencing PIDPressure
警告。