10.7.7. 等待模板就绪
模板创建者可指定:在服务目录、Template Service Broker 或 TemplateInstance API 进行的模板实例化被视为完成之前,应等待模板中的某些对象。
要使用该功能,请使用以下注解在模板中标记一个或多个Build
、BuildConfig
、Deployment
、DeploymentConfig
、Job
或 StatefulSet
类型的对象:
"template.alpha.openshift.io/wait-for-ready": "true"
直到标有注解的所有对象报告就绪时,模板实例化才算完成。同样,如果任何注解的对象报告失败,或者模板未能在一小时的固定超时内就绪,则模板实例化将失败。
就实例化而言,各种对象类型的就绪和失败定义如下:
类型 | 就绪 | 失败 |
---|---|---|
| 对象报告阶段完成 | 对象报告阶段取消、错误或失败 |
| 最新关联构建对象报告阶段完成 | 最新关联构建对象报告阶段取消、错误或失败 |
| 对象报告新的 ReplicaSet 和部署可用(这遵循对象上定义的就绪探针) | 对象报告进度状况为错误 |
| 对象报告新的 ReplicationController 和部署可用(这遵循对象上定义的就绪探针) | 对象报告进度状况为错误 |
| 对象报告完成 | 对象报告出现一个或多个故障 |
| 对象报告所有副本就绪(这遵循对象上定义的就绪探针) | 不适用 |
以下是使用 wait-for-ready
注解的模板提取示例。更多示例可在 OpenShift quickstart 模板中找到。
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: ...