36.2. 작업 생성


작업 구성은 다음 주요 부분으로 구성됩니다.

  • Pod에서 생성할 애플리케이션을 설명하는 pod 템플릿입니다.
  • 병렬로 실행 중인 Pod 복제본 수를 지정하는 선택적 parallelism 매개변수입니다. 지정하지 않으면 기본값은 completions 매개변수입니다.
  • 선택적 completions 매개변수로 작업을 실행해야 하는 동시에 실행 중인 Pod 수를 지정합니다. 지정하지 않으면 기본값은 1입니다.

다음은 작업 리소스의 예입니다.

apiVersion: batch/v1
kind: Job
metadata:
  name: pi
spec:
  parallelism: 1    1
  completions: 1    2
  template:         3
    metadata:
      name: pi
    spec:
      containers:
      - name: pi
        image: perl
        command: ["perl",  "-Mbignum=bpi", "-wle", "print bpi(2000)"]
      restartPolicy: OnFailure    4
  1. 작업이 병렬로 실행해야 하는 Pod 복제본 수에 대한 선택적 값입니다. 기본값은 completions 입니다.
  2. 작업이 완료된 것으로 표시하는 데 필요한 성공적인 Pod 완료 횟수에 대한 선택적 값입니다. 기본값은 1입니다.
  3. 컨트롤러에서 생성하는 Pod용 템플릿입니다.
  4. Pod의 재시작 정책입니다. 이 정책은 작업 컨트롤러에 적용되지 않습니다. 자세한 내용은 36.2.1절. “알려진 제한 사항” 을 참조하십시오.

oc run 을 사용하여 단일 명령에서 작업을 생성하고 시작할 수도 있습니다. 다음 명령은 이전 예제에서 지정한 것과 동일한 작업을 생성하고 시작합니다.

$ oc run pi --image=perl --replicas=1  --restart=OnFailure \
    --command -- perl -Mbignum=bpi -wle 'print bpi(2000)'

36.2.1. 알려진 제한 사항

작업 사양 재시작 정책은 작업 컨트롤러가 아닌Pod에만 적용됩니다. 그러나 작업 컨트롤러는 작업을 완료할 때까지 계속 재시도하도록 하드 코딩되어 있습니다.

다음과 같이 restartPolicy: never 또는 --restart=NeverrestartPolicy와 동일한 동작을 생성합니다. OnFailure 또는 --restart=OnFailure. 즉 작업이 실패하면 작업이 성공할 때까지 (또는 작업을 수동으로 삭제할 때까지) 자동으로 재시작됩니다. 이 정책은 재시작을 수행하는 하위 시스템만 설정합니다.

Never 정책에서는 작업 컨트롤러에서 재시작을 수행합니다. 시도할 때마다 작업 컨트롤러에서 작업 상태의 실패 수를 늘리고 새 Pod를 생성합니다. 즉 실패할 때마다 Pod 수가 증가합니다.

OnFailure 정책에서는 kubelet에서 재시작을 수행합니다. 시도할 때마다 작업 상태의 실패 횟수가 늘어나는 것은 아닙니다. 또한 kubelet은 동일한 노드에서 Pod를 시작하여 실패한 작업을 재시도합니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.