7.7. Pod 문제 조사
OpenShift Container Platform은 호스트에 함께 배포되는 하나 이상의 컨테이너인 Pod의 Kubernetes 개념을 활용합니다. Pod는 OpenShift Container Platform 4.7에서 정의하고 배포 및 관리할 수 있는 가장 작은 컴퓨팅 단위입니다.
Pod가 정의되면 컨테이너가 종료될 때까지 또는 제거될 때까지 노드에서 실행되도록 할당됩니다. 정책 및 종료 코드에 따라 Pod는 종료 후 제거되거나 해당 로그에 액세스할 수 있도록 유지됩니다.
Pod 문제 발생 시 가장 먼저 Pod의 상태를 확인합니다. Pod의 명시적인 오류가 발생한 경우에는 Pod의 오류 상태를 확인하여 특정 이미지, 컨테이너 또는 Pod 네트워크 문제를 파악합니다. 오류 상태에 따라 진단 데이터를 수집합니다. Pod 이벤트 메시지와 Pod 및 컨테이너 로그 정보를 확인합니다. 명령줄에서 실행 중인 Pod에 액세스하여 문제를 동적으로 진단하거나 문제가 있는 Pod의 배포 구성을 기반으로 루트 액세스 권한으로 디버그 Pod를 시작합니다.
7.7.1. Pod 오류 상태 이해
Pod에서 오류가 발생하면 명시적 오류 상태를 반환하며 oc get Pods
출력의 status
필드에서 확인할 수 있습니다. Pod 오류 상태에는 이미지, 컨테이너 및 컨테이너 네트워크 관련 오류가 포함됩니다.
다음 표에는 Pod 오류 상태 및 설명이 기재되어 있습니다.
Pod 오류 상태 | 설명 |
---|---|
| 일반 이미지 검색 오류입니다. |
| 이미지 검색에 실패하여 백 오프되었습니다. |
| 지정된 이미지 이름이 잘못되었습니다. |
| 이미지 검사에 실패했습니다. |
|
|
| 레지스트리에서 이미지 검색을 시도할 때 HTTP 오류가 발생했습니다. |
| 지정된 컨테이너가 선언된 Pod에 존재하지 않거나 kubelet에 의해 관리되지 않습니다. |
| 컨테이너 초기화에 실패했습니다. |
| Pod의 컨테이너가 정상적으로 시작되지 않았습니다. |
| Pod의 컨테이너가 정상적으로 종료되지 않았습니다. |
| 컨테이너가 종료되었습니다. kubelet은 재시작을 시도하지 않습니다. |
| 컨테이너 또는 이미지가 root 권한으로 실행하려고 했습니다. |
| Pod 샌드 박스 생성에 실패했습니다. |
| Pod 샌드 박스 구성을 가져오지 못했습니다. |
| Pod의 샌드박스가 정상적으로 중지되지 않았습니다. |
| 네트워크 초기화에 실패했습니다. |
| 네트워크 종료에 실패했습니다. |