Menu Close

10.7.7. 템플릿 준비 상태 대기

템플릿 작성자는 템플릿 내의 특정 오브젝트가 일정 시간 대기한 뒤에 서비스 카탈로그, Template Service Broker 또는 TemplateInstance API의 템플릿 인스턴스화가 완료된 것으로 간주된다고 표시할 수 있습니다.

이 기능을 사용하려면 템플릿에서 다음 주석으로 하나 이상의 오브젝트를 Build, BuildConfig, Deployment, DeploymentConfig, Job 또는 StatefulSet 유형으로 표시하십시오.

"template.alpha.openshift.io/wait-for-ready": "true"

이 주석이 표시된 모든 오브젝트가 준비되었다고 보고할 때까지 템플릿 인스턴스화는 완료되지 않습니다. 마찬가지로 주석이 있는 오브젝트 보고서 중 실패하는 보고서가 있거나 템플릿이 1시간이라는 고정된 제한 시간 내에 준비되지 않으면 템플릿 인스턴스화가 실패합니다.

인스턴스화를 위해 각 오브젝트 유형의 준비 및 실패는 다음과 같이 정의됩니다.

유형준비실패

Build

오브젝트가 완료 단계 보고

오브젝트가 취소, 오류 또는 실패 단계 보고

BuildConfig

관련된 최신 빌드 오브젝트가 완료 단계 보고

관련된 최신 빌드 오브젝트가 취소, 오류 또는 실패 단계 보고

Deployment

오브젝트는 사용 가능한 새 복제본 세트 및 배포를 보고합니다. 이 명령은 오브젝트에 정의된 준비 상태 프로브를 따릅니다.

오브젝트가 진행 상태를 False로 보고

DeploymentConfig

오브젝트가 사용 가능한 새 복제 컨트롤러 및 배포를 보고합니다. 이 명령은 오브젝트에 정의된 준비 상태 프로브를 따릅니다.

오브젝트가 진행 상태를 False로 보고

Job

오브젝트가 완료 보고

오브젝트가 하나 이상의 실패가 발생했음을 보고

StatefulSet

오브젝트가 준비된 모든 복제본을 보고합니다. 이 명령은 오브젝트에 정의된 준비 상태 프로브를 따릅니다.

해당 없음

다음은 wait-for-ready 주석을 사용하는 템플릿 추출의 예입니다. 추가 예는 OpenShift Container Platform 퀵 스타트 템플릿에서 확인할 수 있습니다.

kind: Template
apiVersion: v1
metadata:
  name: my-template
objects:
- kind: BuildConfig
  apiVersion: v1
  metadata:
    name: ...
    annotations:
      # wait-for-ready used on BuildConfig ensures that template instantiation
      # will fail immediately if build fails
      template.alpha.openshift.io/wait-for-ready: "true"
  spec:
    ...
- kind: DeploymentConfig
  apiVersion: v1
  metadata:
    name: ...
    annotations:
      template.alpha.openshift.io/wait-for-ready: "true"
  spec:
    ...
- kind: Service
  apiVersion: v1
  metadata:
    name: ...
  spec:
    ...

추가 권장 사항

  • 메모리, CPU 및 스토리지 기본 크기를 설정하여 애플리케이션에 원활한 실행을 위한 리소스가 충분히 제공되도록 합니다.
  • latest 태그가 주요 버전 간에 사용되는 경우 이미지의 해당 태그를 참조하지 마십시오. 새 이미지를 해당 태그로 푸시하면 실행 중인 애플리케이션이 중단될 수도 있습니다.
  • 좋은 템플릿은 템플릿 배포 후 수정할 필요 없이 깔끔하게 빌드되고 배포됩니다.