第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) の使用に関してサポートされている次の 2 つの制限を考慮してください。
Pod あたりの PID の最大数。
Red Hat OpenShift Service on AWS 4.11 以降のデフォルト値は 4,096 です。この値はノードに設定された
podPidsLimit
パラメーターによって制御されます。ノードあたりの PID の最大数。
デフォルト値は ノードのリソース によって異なります。Red Hat OpenShift Service on AWS では、この値は
--system-reserved
パラメーターによって制御されます。このパラメーターにより、ノードの合計リソースに基づいて各ノードの PID が予約されます。
Pod あたりの PID の最大許容数を超えると、Pod が正しく機能しなくなり、ノードから削除される可能性があります。詳細は、エビクションシグナルとしきい値に関する Kubernetes ドキュメント を参照してください。
ノードあたりの PID の最大許容数を超えると、ノードが不安定になる可能性があります。これは新しいプロセスに PID を割り当てることができなくなるためです。追加のプロセスを作成せずに既存のプロセスを完了できない場合、ノード全体が使用できなくなり、リブートが必要になる可能性があります。このような状況では、実行中のプロセスやアプリケーションによっては、データ損失が発生する可能性があります。このしきい値に達すると、お客様の管理者と Red Hat Site Reliability Engineering に通知が送信されます。また、Worker node is experiencing PIDPressure
という警告がクラスターログに表示されます。