Always-Try(정보보안 및 일상)

[CKA 준비] 섹션 3: Scheduling - Manual Scheduling, Labels and Selectors 관련 본문

Kubernetes (Kubernetes security)

[CKA 준비] 섹션 3: Scheduling - Manual Scheduling, Labels and Selectors 관련

Always-Try 2026. 5. 3. 20:27

CKA 시험 및 실무에서 가장 기본이 되는 스케줄링(Scheduling) 개념을 정리합니다. 스케줄러가 없는 상황에서 어떻게 포드를 배치하고, 수많은 리소스를 레이블로 어떻게 관리하는지 핵심 위주로 요약했습니다.

1. Manual Scheduling: 스케줄러 없이 포드 배치하기

쿠버네티스 스케줄러(kube-scheduler)가 작동하지 않거나, 특정 노드에 포드를 강제로 배치해야 할 때 사용하는 방법입니다.

  • 핵심 키워드: nodeName
  • 방법: 포드 정의서(spec) 바로 하위에 nodeName: <노드이름> 필드를 추가합니다.
  • 주의사항: 이미 생성된 포드의 nodeName은 수정할 수 없습니다. 기존 포드를 삭제하고 YAML에 nodeName을 추가하여 다시 생성해야 합니다.
  • 꿀팁: 시험 중 문법이 기억나지 않는다면 터미널에서 kubectl explain pod.spec 명령어로 위치를 확인할 수 있습니다.

2. Labels & Selectors: 리소스 관리의 핵심

쿠버네티스 리소스(Pod, Service, ReplicaSet 등)를 논리적으로 그룹화하고 분류하는 가장 강력한 도구입니다.

  • Label: 리소스에 붙이는 키-값 쌍 (예: app: frontend, env: prod)
  • Selector: 특정 레이블을 가진 리소스를 필터링하여 선택하는 기능
  • 실습 포인트: * ReplicaSet이 어떤 포드를 관리할지 결정할 때 selector와 포드의 labels가 일치해야 합니다.
    • 서비스(Service)가 트래픽을 보낼 대상 포드를 찾을 때도 레이블 셀렉터를 사용합니다.

3. 명령어로 레이블 관리하기 (kubectl 활용)

YAML 파일을 수정하지 않고도 터미널에서 빠르게 레이블을 확인하고 수정하는 명령어를 익혀두면 CKA 시험 시간을 크게 단축할 수 있습니다.

  • 레이블 확인: kubectl get pods --show-labels
  • 특정 레이블을 가진 포드만 보기: kubectl get pods -l env=dev
  • 실행 중인 포드에 레이블 추가: kubectl label pod <포드이름> tier=frontend

4. 공식 문서 활용 팁 (Kubernetes Docs)

시험장에서 공식 문서를 검색할 때 시간을 아끼는 검색어 조합입니다.

  • Manual Scheduling 관련: "Assign Pods to Nodes" 키워드로 검색하면 nodeName 사용 예시를 바로 찾을 수 있습니다.
  • Labels 관련: "Labels and Selectors"로 검색하여 다양한 필터링 문법(예: in, notin 연산자)을 참고하세요.
Comments