4.4. Jobs (작업)
개요
Jobs 페이지는 MCM 컨트롤 플레인에서 관리하는 모든 Job을 통합적으로 관리하는 페이지입니다. Job은 하나 이상의 파드를 생성하여 지정된 작업이 성공적으로 완료될 때까지 실행하는 워크로드입니다.
주요 목적:
- 멀티클러스터 Job 통합 관리
- 일회성 배치 작업 실행 및 모니터링
- Job 완료/실패 상태 추적
- PropagationPolicy 및 OverridePolicy 확인
Job 사용 사례:
- 데이터베이스 마이그레이션
- 배치 데이터 처리
- 백업 및 복원 작업
- 일회성 스크립트 실행
- ETL(Extract, Transform, Load) 작업
화면 구성
Jobs 페이지는 테이블 형태로 Job 목록을 표시합니다.

페이지 상단 요소
| 요소 | 설명 |
|---|---|
| 네임스페이스 필터 | 특정 네임스페이스의 Job만 표시 |
| 새로고침 버튼 | Job 목록 갱신 |
| 생성 버튼 | 새 Job 생성 다이얼로그 열기 |
| 검색창 | Job 이름으로 검색 |
테이블 컬럼
| 컬럼 | 설명 | 정렬 |
|---|---|---|
| 이름 | Job 이름 | ✅ |
| 네임스페이스 | Job이 속한 네임스페이스 | ✅ |
| 상태 | Job 상태 및 완료 현황 (성공/전체) | ✅ |
| 이미지 | 컨테이너 이미지 이름 | ✅ |
| 경과시간 | Job 생성 후 경과 시간 | ✅ |
| 작업 | 편집/삭제 버튼 | - |
상태 표시
상태 컬럼은 Job의 현재 상태와 완료 현황을 표시합니다:
| 상태 | 설명 | 표시 |
|---|---|---|
| 완료 | 모든 파드가 성공적으로 완료 | 녹색 배지 + N/N |
| 실행 중 | 파드가 실행 중 | 파란색 배지 + N/N |
| 대기 중 | 파드가 스케줄링 대기 중 | 노란색 배지 + 0/N |
| 실패 | Job 실행 실패 | 빨간색 배지 |
예: 대기 중 0/1 - 1개 완료 목표 중 0개 완료, 대기 상태
Job 상세 정보
Job 행을 클릭하면 상세 정보 패널이 열립니다.

상세 패널 헤더
| 요소 | 설명 |
|---|---|
| Job 이름 | 선택한 Job 이름 |
| 네임스페이스 | Job이 속한 네임스페이스 |
| 상태 | 대기 중/실행 중/완료/실패 |
액션 버튼
| 버튼 | 기능 |
|---|---|
| 새로고침 | Job 정보 갱신 |
| 편집 | YAML 편집 모드 |
| 삭제 | Job 삭제 |
탭 메뉴
개요 탭
Job의 기본 정보, 스펙, 상태 정보를 표시합니다.
기본 정보:
| 항목 | 설명 |
|---|---|
| 이름 | Job 이름 |
| 네임스페이스 | Job이 속한 네임스페이스 |
| 상태 | 대기 중 / 실행 중 / 완료 / 실패 |
| 경과시간 | 생성 후 경과 시간 |
| 생성일 | Job 생성 일시 |
잡 스펙:
| 항목 | 설명 |
|---|---|
| 완료 수 (Completions) | 성공적으로 완료되어야 하는 파드 수 |
| 병렬 처리 (Parallelism) | 동시에 실행할 수 있는 파드 수 |
| 백오프 제한 (Backoff Limit) | 실패 시 재시도 횟수 제한 |
| 활성 기한 (초) | Job 실행 제한 시간 (초) |
파드 상태:
Job의 파드 현황을 시각적으로 표시합니다:
- 성공 (Succeeded): 성공적으로 완료된 파드
- 실행 중 (Running): 현재 실행 중인 파드
- 대기 중 (Pending): 스케줄링 대기 중인 파드
- 실패 (Failed): 실패한 파드
잡 상태:
| 항목 | 설명 |
|---|---|
| 성공 | 성공적으로 완료된 파드 수 |
| 실패 | 실패한 파드 수 |
| 활성 | 현재 실행 중인 파드 수 |
| 시작 시간 | Job 실행 시작 시간 |
| 완료 시간 | Job 완료 시간 |
컨테이너 이미지:
Job에 정의된 컨테이너 이미지를 표시합니다.
멀티클러스터 정책 탭
Job에 적용된 멀티 클러스터 정책 정보를 표시합니다.

전파 정책 (PropagationPolicy):
| 컬럼 | 설명 |
|---|---|
| 이름 | PropagationPolicy 이름 |
| 네임스페이스 | 정책이 속한 네임스페이스 |
| 범위 | 네임스페이스 범위 정책 / 클러스터 범위 정책 |
| 대상 클러스터 | 타겟 클러스터 목록 |
오버라이드 정책 (OverridePolicy):
클러스터별 커스텀 설정이 있는 경우 표시됩니다.
레이블 탭
Job에 적용된 Kubernetes 레이블 목록을 표시합니다.
어노테이션 탭
Job에 적용된 어노테이션 목록을 표시합니다.
파드 탭
해당 Job에서 생성된 파드 목록을 표시합니다.

| 컬럼 | 설명 |
|---|---|
| 이름 | 파드 이름 (예: my-job2-f9wc5) |
| 클러스터 | 파드가 실행 중인 클러스터 |
| 상태 | 파드 상태 (실행 중/대기 중/성공/실패) |
| 노드 | 파드가 스케줄된 노드 |
| 재시작 횟수 | 파드 재시작 횟수 |
| 경과시간 | 파드 생성 후 경과 시간 |
| 작업 | 보기/삭제 버튼 |
이벤트 탭
Job 관련 Kubernetes 이벤트를 표시합니다.
Job 생성
새로운 Job을 MCM 컨트롤 플레인에 생성합니다.
입력 항목
| 항목 | 필수 | 설명 |
|---|---|---|
| 이름 | ✅ | Job 이름 |
| 네임스페이스 | ✅ | 배포할 네임스페이스 |
| 컨테이너 이미지 | ✅ | 컨테이너 이미지 URL |
| 명령어 | - | 컨테이너 실행 명령어 |
| 완료 수 | - | 완료되어야 하는 파드 수 (기본값: 1) |
| 병렬 처리 | - | 동시 실행 파드 수 (기본값: 1) |
| 백오프 제한 | - | 재시도 횟수 제한 (기본값: 6) |
| 활성 기한 | - | 실행 제한 시간 (초) |
YAML 편집
"YAML 편집" 탭에서 Job 정의를 직접 작성할 수 있습니다.
Job 작업
Job 편집
- Job 선택
- 상세 패널에서 "편집" 버튼 클릭
- YAML 에디터에서 Job 정의 수정
- "저장" 버튼 클릭
참고: 이미 실행 중인 Job의 스펙은 제한적으로만 수정할 수 있습니다.
Job 삭제
⚠️ 주의: Job을 삭제하면 관련된 모든 파드도 함께 삭제됩니다.
- 삭제할 Job 선택
- 상세 패널에서 "삭제" 버튼 클릭
- 확인 다이얼로그에서 Job 이름 입력
- "삭제" 버튼 클릭
사용 예시
시나리오 1: 데이터베이스 마이그레이션 Job 생성
- "생성" 버튼 클릭
- Job 정보 입력:
- 이름:
db-migration - 네임스페이스:
production - 컨테이너 이미지:
my-registry/db-migrate:v1.0 - 명령어:
["./migrate.sh", "--apply"]
- 이름:
- "생성" 버튼 클릭
- PropagationPolicy로 타겟 클러스터 지정
- Job 완료 상태 모니터링
시나리오 2: Job 상태 확인
- Job 목록에서 확인할 Job 클릭
- 개요 탭에서 잡 상태 확인:
- 성공/실패/활성 파드 수
- 시작 시간 및 완료 시간
- 파드 탭에서 개별 파드 상태 확인
- 이벤트 탭에서 Job 관련 이벤트 확인
시나리오 3: 병렬 배치 처리
- "생성" 버튼 클릭
- Job 정보 입력:
- 이름:
batch-process - 완료 수:
10(총 10개 작업 완료 필요) - 병렬 처리:
3(동시에 3개 파드 실행)
- 이름:
- "생성" 버튼 클릭
- 개요 탭에서 진행 상황 모니터링:
- 활성: 최대 3개
- 성공: 0 → 10까지 증가
시나리오 4: 실패한 Job 재시도 확인
- 실패한 Job 클릭
- 개요 탭에서 잡 스펙 확인:
- 백오프 제한: 재시도 횟수
- 이벤트 탭에서 실패 원인 확인
- 파드 탭에서 실패한 파드 로그 확인
- 필요시 Job 삭제 후 수정하여 재생성
시나리오 5: 멀티클러스터 Job 실행
- Job 생성 및 PropagationPolicy 적용
- 상세 패널에서 "멀티클러스터 정책" 탭 확인
- 대상 클러스터에 Job이 분배되었는지 확인
- 파드 탭에서 클러스터별 파드 실행 현황 확인
- 각 클러스터에서 Job이 완료될 때까지 모니터링
관련 개념
Job vs CronJob
| 특성 | Job | CronJob |
|---|---|---|
| 실행 방식 | 일회성 실행 | 주기적 스케줄 실행 |
| 트리거 | 생성 시 즉시 실행 | 크론 스케줄에 따라 실행 |
| 사용 사례 | 마이그레이션, 백업 | 주기적 리포트, 정기 백업 |
| 관리 | 수동 생성/삭제 | 자동 Job 생성 |
완료 수와 병렬 처리
완료 수 (Completions):
- Job이 성공으로 간주되기 위해 완료해야 하는 파드 수
- 기본값: 1
병렬 처리 (Parallelism):
- 동시에 실행할 수 있는 파드 수
- 기본값: 1
- 병렬 처리가 완료 수보다 작으면 순차적으로 파드 생성
백오프 제한
- 파드 실패 시 재시도 횟수 제한
- 기본값: 6
- 백오프 제한에 도달하면 Job은 실패로 표시
- 재시도 간격은 지수적으로 증가 (10초, 20초, 40초...)
TTL 컨트롤러
완료된 Job을 자동으로 정리하는 기능:
ttlSecondsAfterFinished: 완료 후 자동 삭제까지 대기 시간- 예:
ttlSecondsAfterFinished: 3600- 완료 1시간 후 자동 삭제
활성 기한
activeDeadlineSeconds: Job 실행 최대 시간 제한- 시간 초과 시 Job 및 모든 파드 종료
- 장시간 실행 방지에 유용
다음 단계
- CronJobs (크론 작업) - 멀티클러스터 CronJob 관리
- Pods (파드) - 파드 상세 관리
- Propagation Policies (배포 정책) - PropagationPolicy 설정