step10. 잡과 크론잡

생성일
Feb 27, 2022 10:59 AM
태그

실패 시 재실행하는 잡과 지정 시간에 기동하는 크론 잡

잡 컨트롤러는 파드에 있는 모든 컨테이너가 정상적으로 종료할 때까지 재실행한다. 그리고 크론잡은 유닉스의 크론과 같은 포맷으로 실행 스케줄을 지정할 수 있는 컨트롤러다.
 

잡 활용 예시

  1. 동시 실행과 순차 실행
      • 복수의 처리들 간에 순서가 없어 상호 독립적으로 실행할 수 있는 배치 처리를 잡 컨트롤러는 복수의 노드 위에서 여러 개의 파드를 동시에 실행하여 빠르게 완료할 수 있다.
      • 대표적으로 대량 메일 발송, 이미지 변환 처리 등
      • 한편, 파드의 동시 실행수를 늘려도 리소스에 대한 경쟁이 심화되어 오히려 처리가 느려지는 경우도 있으니 동시 실행수를 작게 조절해 주는 것이 좋을 수도 있다.
  1. 파드를 실행할 노드 선택
      • 다양한 사양의 노드로 구성된 클러스트에서 배치 처리를 실행하는 경우 매니페스트에 CPU, 코어 수, 메모리 요구량 등의 정보가 기재된다.
      • 마스터 노드의 스케줄러는 기재된 조건을 만족하는 적절한 노드를 선택해서 파드에 배치함
  1. 온라인 배치 처리 요청
  1. 정기 실행 배치 처리
 
 

yml 옵션

  • completions : 성공 횟수
  • parallelism : 최대 동시 실행 횟수
  • backoffLimit : 실패시 재실행 횟수 제한
 

정리

  • 잡 컨트롤러는 일괄 처리 타입의 워크로드에 적합하다.
  • 잡 컨트롤러 관리하의 파드 위에서 돌아가는 컨테이너가 비정상 종료 하면 재실행 횟수 상한치에 도달하거나, 정상 종료 할 때까지 반복해서 파드가 실행된다.
  • 잡 컨트롤러와 메시지 브로커를 조합하면 기동 후 컨테이너 파라미터를 전달하는 것이 가능하다.
  • k8s 클라이언트 api 라이브러리를 사용하면 매니페스트를 프로그래밍적으로 생성하여 쿠버네티스에 대한 조작을 자동화할 수 있다.
  • 크론잡은 시간에 맞춰 정기적으로 잡을 실행하는 컨트롤러다.
 

Loading Comments...