10.7.7. 템플릿 준비 상태 대기
템플릿 작성자는 템플릿 내의 특정 오브젝트가 일정 시간 대기한 뒤에 서비스 카탈로그, Template Service Broker 또는 TemplateInstance
API의 템플릿 인스턴스화가 완료된 것으로 간주된다고 표시할 수 있습니다.
이 기능을 사용하려면 템플릿에서 다음 주석으로 하나 이상의 오브젝트를 Build
, BuildConfig
, Deployment
, DeploymentConfig
, Job
또는 StatefulSet
유형으로 표시하십시오.
"template.alpha.openshift.io/wait-for-ready": "true"
이 주석이 표시된 모든 오브젝트가 준비되었다고 보고할 때까지 템플릿 인스턴스화는 완료되지 않습니다. 마찬가지로 주석이 있는 오브젝트 보고서 중 실패하는 보고서가 있거나 템플릿이 1시간이라는 고정된 제한 시간 내에 준비되지 않으면 템플릿 인스턴스화가 실패합니다.
인스턴스화를 위해 각 오브젝트 유형의 준비 및 실패는 다음과 같이 정의됩니다.
유형 | 준비 | 실패 |
---|---|---|
| 오브젝트가 완료 단계 보고 | 오브젝트가 취소, 오류 또는 실패 단계 보고 |
| 관련된 최신 빌드 오브젝트가 완료 단계 보고 | 관련된 최신 빌드 오브젝트가 취소, 오류 또는 실패 단계 보고 |
| 오브젝트는 사용 가능한 새 복제본 세트 및 배포를 보고합니다. 이 명령은 오브젝트에 정의된 준비 상태 프로브를 따릅니다. | 오브젝트가 진행 상태를 False로 보고 |
| 오브젝트가 사용 가능한 새 복제 컨트롤러 및 배포를 보고합니다. 이 명령은 오브젝트에 정의된 준비 상태 프로브를 따릅니다. | 오브젝트가 진행 상태를 False로 보고 |
| 오브젝트가 완료 보고 | 오브젝트가 하나 이상의 실패가 발생했음을 보고 |
| 오브젝트가 준비된 모든 복제본을 보고합니다. 이 명령은 오브젝트에 정의된 준비 상태 프로브를 따릅니다. | 해당 없음 |
다음은 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
태그가 주요 버전 간에 사용되는 경우 이미지의 해당 태그를 참조하지 마십시오. 새 이미지를 해당 태그로 푸시하면 실행 중인 애플리케이션이 중단될 수도 있습니다. - 좋은 템플릿은 템플릿 배포 후 수정할 필요 없이 깔끔하게 빌드되고 배포됩니다.