ポッドが保留状態のままになるのはなぜですか?
「 Pending 」状態のままとなり、利用可能なワーカーノードにスケジューリングできないポッドのトラブルシューティングを行います。
仮想プライベートクラウド クラシック・インフラストラクチャー
oc get pods を実行すると、ポッドの状態が Pending になる場合があります。
Red Hat OpenShift クラスターを作成したばかりの場合は、まだワーカー・ノードが構成中の可能性があります。
このクラスタが既存のクラスタである場合、以下の問題が原因である可能性があります。
- ポッドをデプロイするための十分な容量がクラスター内にない可能性があります。
- ポッドがリソースの要求または制限を超えた可能性があります。
このタスクには、クラスターに対する IBM Cloud IAM 管理者プラットフォーム・アクセス役割と、すべての名前空間に対するマネージャーサービス役割が必要です。
Red Hat OpenShift クラスターを作成したばかりの場合は、以下のコマンドを実行して、ワーカー・ノードが初期化するまで待ちます。
oc get nodes
クラスターが以前から存在するものである場合は、クラスターの容量を確認します。
-
コンソールから、クラスタを選択します。
-
**「Red Hat OpenShift Web コンソール」**をクリックします。
-
ポッドをデプロイするための十分な容量がクラスター内にあるか確認します。
-
クラスターに十分な容量がない場合は、ワーカー・プールをサイズ変更してノードをさらに追加します。
- ワーカー・プールの現在のサイズとフレーバーを確認して、サイズ変更するワーカー・プールを決定します。
ibmcloud oc worker-pool ls ``` 2. ワーカー・プールをサイズ変更して、そのプールが及ぶ範囲のゾーンごとにノードをさらに追加します。 ```sh {: pre} ibmcloud oc worker-pool resize --worker-pool WORKER_POOL --cluster CLUSTER_NAME_OR_ID --size-per-zone WORKERS_PER_ZONE ``` -
オプション: ポッドのリソース要求を確認します。
resources.requests値がワーカー・ノードの容量を超えていないことを確認します。 たとえば、ポッドがcpu: 4000m(4コア)を要求しているにもかかわらず、ワーカーノードのサイズが2コアしかない場合、そのポッドはデプロイできません。
oc get pod <pod_name> -o yaml ``` 2. リクエストが利用可能な処理能力を上回る場合は、そのリクエストを処理できるワーカーノードを含むワーカープールを追加してください。 詳しくは、 [クラシック・クラスターへのワーカー・ノードの追加](/docs/openshift?topic=openshift-add-workers-classic) または [VPC クラスターへのワーカー・ノードの追加](/docs/openshift?topic=openshift-add-workers-vpc) を参照してください。 -
ワーカーノードのデプロイが完了した後もポッドが 「保留中 」の状態のままの場合は、 『 Kubernetes 』のドキュメントを参照し、ポッドの「保留中」状態に関するトラブルシューティングをさらに進めてください。