9.3.5. 라이프사이클 후크


재생성롤링 전략에서는 라이프사이클 후크를 지원하므로 전략 내의 사전 정의된 지점에서 해당 동작을 배포 프로세스에 삽입할 수 있습니다.

다음은 pre 라이프사이클 후크의 예입니다.

pre:
  failurePolicy: Abort
  execNewPod: {} 1

모든 후크에는 후크에 오류가 발생했을 때 전략에서 취해야 하는 작업을 정의하는 failurePolicy 가 있습니다.

Abort

후크가 실패하면 배포 프로세스가 실패로 간주됩니다.

Retry

성공할 때까지 후크를 다시 실행합니다.

Ignore

모든 후크 오류를 무시하고 배포를 계속 진행합니다.

후크에는 후크 실행 방법을 설명하는 유형별 필드가 있습니다. 현재 Pod 기반 후크execNewPod 필드에서 지정하는 유일한 후크 유형입니다.

9.3.5.1. Pod 기반 라이프사이클 후크

Pod 기반 라이프사이클 후크는 배포 구성의 템플릿에서 파생된 새 Pod에서 후크 코드를 실행합니다.

간소화된 다음 예제 배포 구성에서는 롤링 전략을 사용합니다. 간결성을 위해 트리거 및 몇 가지 기타 사소한 세부 정보는 생략되었습니다.

kind: DeploymentConfig
apiVersion: v1
metadata:
  name: frontend
spec:
  template:
    metadata:
      labels:
        name: frontend
    spec:
      containers:
        - name: helloworld
          image: openshift/origin-ruby-sample
  replicas: 5
  selector:
    name: frontend
  strategy:
    type: Rolling
    rollingParams:
      pre:
        failurePolicy: Abort
        execNewPod:
          containerName: helloworld 1
          command: [ "/usr/bin/command", "arg1", "arg2" ] 2
          env: 3
            - name: CUSTOM_VAR1
              value: custom_value1
          volumes:
            - data 4
1
helloworld 이름은 spec.template.spec.containers[0].name을 나타냅니다.
2
commandopenshift/origin-ruby-sample 이미지로 정의된 모든 ENTRYPOINT를 재정의합니다.
3
env는 후크 컨테이너의 선택적 환경 변수 세트입니다.
4
volume은 후크 컨테이너의 선택적 볼륨 참조 세트입니다.

이 예제에서 pre 후크는 helloworld 컨테이너의 openshift/origin-ruby-sample 이미지를 사용하여 새 Pod에서 실행됩니다. 후크 Pod에는 다음과 같은 속성이 있습니다.

  • 후크 명령은 /usr/bin/command arg1 arg2 입니다.
  • 후크 컨테이너에는 CUSTOM_VAR1=custom_value1 환경 변수가 있습니다.
  • 후크 실패 정책은 Abort 이며, 후크가 실패하면 배포 프로세스가 실패합니다.
  • 후크 포드는 배포 구성 포드의 데이터 볼륨을 상속합니다.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.