팟(Pod)이 보류 상태로 유지되는 이유는 무엇입니까?

'보류 중( Pending )' 상태로 남아 있으며 사용 가능한 워커 노드에 스케줄링되지 않는 파드의 문제를 해결합니다.

가상 프라이빗 클라우드 클래식 인프라

oc get pods를 실행할 때 보류 상태를 유지하는 팟(Pod)을 볼 수 있습니다.

Red Hat OpenShift 클러스터를 방금 작성한 경우, 작업자 노드가 여전히 구성 중일 수 있습니다.

이 클러스터가 기존 클러스터인 경우 다음 문제가 원인일 수 있습니다.

  • 클러스터에 팟(Pod)을 배치하기에 충분한 용량이 없을 수 있습니다.
  • 팟(Pod)이 리소스 요청 또는 한계를 초과했을 수 있습니다.

이 태스크에는 클러스터에 IBM Cloud IAM 관리자 플랫폼 액세스 역할과 모든 네임스페이스에 대한 관리자 서비스 액세스 역할이 필요합니다.

방금 Red Hat OpenShift 클러스터를 작성한 경우에는 다음 명령을 실행하고 작업자 노드가 초기화될 때까지 대기하십시오.

oc get nodes

이 클러스터가 기존 클러스터인 경우, 클러스터 용량을 확인하십시오.

  1. 콘솔에서 클러스터를 선택합니다.

  2. Red Hat OpenShift 웹 콘솔을 클릭하십시오.

  3. 팟(Pod)을 배치하기에 충분한 용량이 클러스터에 있는지 확인하십시오.

  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. 선택사항: 팟(Pod) 리소스 요청을 확인하십시오.

    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 문서 문서를 참고하여 포드의 ‘pending’ 상태에 대한 추가적인 문제 해결을 진행하십시오.