ポッドが保留状態のままになるのはなぜですか?

Pending 」状態のままとなり、利用可能なワーカーノードにスケジューリングできないポッドのトラブルシューティングを行います。

仮想プライベートクラウド クラシック・インフラストラクチャー

oc get pods を実行すると、ポッドの状態が Pending になる場合があります。

Red Hat OpenShift クラスターを作成したばかりの場合は、まだワーカー・ノードが構成中の可能性があります。

このクラスタが既存のクラスタである場合、以下の問題が原因である可能性があります。

  • ポッドをデプロイするための十分な容量がクラスター内にない可能性があります。
  • ポッドがリソースの要求または制限を超えた可能性があります。

このタスクには、クラスターに対する IBM Cloud IAM 管理者プラットフォーム・アクセス役割と、すべての名前空間に対するマネージャーサービス役割が必要です。

Red Hat OpenShift クラスターを作成したばかりの場合は、以下のコマンドを実行して、ワーカー・ノードが初期化するまで待ちます。

oc get nodes

クラスターが以前から存在するものである場合は、クラスターの容量を確認します。

  1. コンソールから、クラスタを選択します。

  2. **「Red Hat OpenShift Web コンソール」**をクリックします。

  3. ポッドをデプロイするための十分な容量がクラスター内にあるか確認します。

  4. クラスターに十分な容量がない場合は、ワーカー・プールをサイズ変更してノードをさらに追加します。

    1. ワーカー・プールの現在のサイズとフレーバーを確認して、サイズ変更するワーカー・プールを決定します。
        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
        ```
    
  5. オプション: ポッドのリソース要求を確認します。

    1. 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) を参照してください。
    
    
  6. ワーカーノードのデプロイが完了した後もポッドが 「保留中 」の状態のままの場合は、 『 Kubernetes 』のドキュメントを参照し、ポッドの「保留中」状態に関するトラブルシューティングをさらに進めてください。