OpenShift でファイル数の多い永続ボリュームを使用すると、Pod が起動に失敗する、または "Ready" 状態になるまでに過度に時間がかかるのはなぜですか?
Issue
- Red Hat OpenShift Container Platform でボリュームを Pod にアタッチすると、Pod が起動しなかったり、起動に時間がかかったりすることがあるのはなぜですか?
- ボリューム自体のファイル数は非常に多く、ファイルとディレクトリーの数は数万 (またはそれ以上) になることが多いです。
- ファイル数の多いボリュームを使用せずに Pod を起動すると、Pod はすぐに "Ready" 状態になります (ただし、ボリュームが提供するデータにはアクセスできません)。
- この問題により、コンテナーランタイム (
docker
またはcri-o
) が (ハングしたdocker ps
またはcrictl ps
コマンドで見られるように) 応答しなくなり、ノード全体が時折 "NotReady" とマークされる可能性があります。 -
Pod が
CreateContainerError
ステータスになり、起動できません。# oc get pod NAME READY STATUS RESTARTS AGE mypod-5-1111a 0/1 CreateContainerError 0 7m29s
- Pod のデプロイメントは、
Error: Failed to create pod sandbox: rpc error: code = Unknown desc = Kubelet may be retrying requests that are timing out in CRI-O due to system load: context deadline exceeded
のメッセージを表示して失敗します。
Environment
- Red Hat OpenShift Container Platform 3
- Red Hat OpenShift Container Platform 4.7+
- Docker コンテナーエンジン
- CRI-O コンテナーエンジン
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.