OpenShift通过应用部署模板(Template)提高了应用部署的效率,如图所示。
通过定制应用的部署模板,用户可以丰富平台的应用服务目录,形成企业内部的一个"AppStore"。
建立企业内部的"AppStore",用户可以很方便地部署架构复杂的应用,而不需要过多地了解云平台的实现细节。
通过OpenShift的Template,用户可以定义需要部署的容器镜像以及系统对象的列表。
一个Template中可以容纳任意不同类型和组合的一定数量的对象。比如在OpenShift系统默认提供的实例模板cakephp-mysql-example中,就定义了部署PHP及MySQL两个容器应用,同时定义了支持这两个容器应用所需的多个Build Config、Deployment Config、Service及Route等对象。
通过Web控制台的几次鼠标单击就可以实现一次包含多个 应用和对象的部署。
OpenShift的Template还有一个重要的特性就是参数化。用户可以在Template中定义参数,这些参数在用户部署模板时将显示在Web控制台的界面上,供用户输入。用户的输入最终以环境变量的方式传递到容器内部。
注意:一个OpenShift的Template在结构上主要分为三个组成部分:元信息、对象列表及参数列表。
模板可以从已有的模板导出后修改(oc get template cakephp-mysql-example -n openshift -o json >>/tmp/mybank.template.json),也可以根据已有的项目导出模板(oc export svc,route --as-template=/tmp/mybank.template.json -o json),最后模板文件导入即可(oc create -f /tmp/mybank.template.json -n openshift)