CKA SimA 04 먼저 종료될 Pod 찾기

(CKA 1.32A - Q4 먼저 종료될 Pod 찾기에서 넘어옴)

1 개요[ | ]

노드 자원이 부족할 때 우선 종료될 Pod 확인
노드 자원 부족 시 우선 종료될 수 있는 Pod 식별하기
  • 네임스페이스 내 모든 Pod의 QoS 클래스 정보를 확인하여, 자원 부족 상황에서 먼저 종료될 가능성이 높은 Pod들을 추려내는 실습
  • 자원 요청(requests) 및 제한(limits)이 없는 컨테이너를 포함한 Pod는 QoS 클래스가 BestEffort으로 설정되며, 가장 우선적으로 종료 대상이 됨
  • 실습에서는 k get po -o jsonpath 명령어를 사용하여 QoS 정보를 확인하고 필요한 Pod 목록을 필터링함

2 QoS 클래스 분류 기준[ | ]

  • Pod의 QoS 클래스는 각 컨테이너의 리소스 설정에 따라 아래와 같이 분류됨
    • Guaranteed: 모든 컨테이너에 대해 requestslimits가 동일하게 정의됨 → 가장 늦게 종료
    • Burstable: 하나 이상의 컨테이너에 requests만 정의됨 → 중간 우선순위
    • BestEffort: 어떤 컨테이너에도 requestslimits가 없음 → 가장 먼저 종료

3 QoS 클래스 확인 방법[ | ]

네임스페이스 project-c13 내 모든 Pod의 QoS 클래스 확인

# k get po -n project-c13 -o jsonpath="{range .items[*]}{.metadata.name} {.status.qosClass}{'\n'}"
c13-2x3-api-c848b775d-7nggw Burstable
c13-2x3-api-c848b775d-qrrlp Burstable
c13-2x3-api-c848b775d-qtrs7 Burstable
c13-2x3-web-6989fb8dc6-4nc9z Burstable
c13-2x3-web-6989fb8dc6-7xfdx Burstable
c13-2x3-web-6989fb8dc6-98pr6 Burstable
c13-2x3-web-6989fb8dc6-9zpkj Burstable
c13-2x3-web-6989fb8dc6-j2mgb Burstable
c13-2x3-web-6989fb8dc6-jcwk9 Burstable
c13-3cc-data-96d47bf85-dc8d4 Burstable
c13-3cc-data-96d47bf85-f9gd2 Burstable
c13-3cc-data-96d47bf85-fd9lc Burstable
c13-3cc-runner-heavy-8687d66dbb-gnxjh BestEffort
c13-3cc-runner-heavy-8687d66dbb-przdh BestEffort
c13-3cc-runner-heavy-8687d66dbb-wqwfz BestEffort
c13-3cc-web-767b98dd48-5b45q Burstable
c13-3cc-web-767b98dd48-5vldf Burstable
c13-3cc-web-767b98dd48-dd7mc Burstable
c13-3cc-web-767b98dd48-pb67p Burstable

4 BestEffort Pod만 추출[ | ]

# k get po -n project-c13 -o jsonpath="{range .items[*]}{.metadata.name} {.status.qosClass}{'\n'}" | grep BestEffort | awk '{print $1}'
c13-3cc-runner-heavy-8687d66dbb-gnxjh
c13-3cc-runner-heavy-8687d66dbb-przdh
c13-3cc-runner-heavy-8687d66dbb-wqwfz

5 리소스 요청 정의 여부 확인[ | ]

Pod별 리소스 요청 및 제한 정의 확인

# k -n project-c13 get po -o jsonpath="{range .items[*]} {.metadata.name}{.spec.containers[*].resources}{'\n'}"
 c13-2x3-api-c848b775d-7nggw{"requests":{"cpu":"50m","memory":"20Mi"}}
 c13-2x3-api-c848b775d-qrrlp{"requests":{"cpu":"50m","memory":"20Mi"}}
 c13-2x3-api-c848b775d-qtrs7{"requests":{"cpu":"50m","memory":"20Mi"}}
 ...
 c13-3cc-runner-heavy-8687d66dbb-gnxjh{}
 c13-3cc-runner-heavy-8687d66dbb-przdh{}
 c13-3cc-runner-heavy-8687d66dbb-wqwfz{}

6 실전 팁[ | ]

  • BestEffort QoS를 가진 Pod는 시스템 자원이 부족할 경우 가장 먼저 종료되므로, 중요하지 않은 작업에만 사용
  • 프로덕션 환경에서는 최소한의 requests를 지정하여 Burstable 이상으로 QoS 설정 권장
  • 실제 사용량 분석에는 k top po 또는 메트릭 수집 도구(Prometheus 등)를 활용
  • Pod 상세 보기로 직접 확인도 가능
# k -n project-c13 describe po | less -p Requests

7 같이 보기[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}