栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

OpenShift模版(Template)- DevOps偷懒专用

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

OpenShift模版(Template)- DevOps偷懒专用

一个OpenShift模版是为了偷懒而生的工具。是不是听起来特别像程序员能干出来的事儿?

OpenShift模版(Template)- DevOps偷懒专用
  • 模版结构
  • OpenShift提供的模版
  • 创建模版
  • 使用模版

模板描述了一组参数化的 对象, 通常可以用YAML或者JSON的格式来写。OpenShift平台使用模版中的对象列表创建 对象,例如服务(service)、路由(route)构建配置(BuildConfig)和部署配置(DeploymentConfig)。

PS:我们以YAML格式的模版为例。

模版结构
  1. apiVersion: template.openshift.io/v1:版本
  2. kind: Template:类型。
  3. labels:xxx:标签。用来标记模版和用模版生成的对象,主要是便于管理,比如可以通过oc delete all -l app=myfullstack来删除所有标签为app=myfullstack的对象,比如路由,服务等
  4. metadata:元数据,包括模版的名字(name),所在项目名称(namespace),对模版的描述(annotations:... descriptions)
  5. parameters:参数。可以类比作函数的输入变量
  6. objects:对象列表。例如服务(service)、路由(route)构建配置(BuildConfig)和部署配置(DeploymentConfig)。创建这些对象的时候通常会用到参数中值。
    对象列表中的每个对象都拥有以下属性:
  • apiVersion:版本号,比如v1
  • kind:类型。可能的值有BuildConfig,Service等
  • spec:规范
OpenShift提供的模版

OpenShift其实已经提供了许多有用的模版。比如cakephp-mysql-example模版可以用来创建一个带MySQL数据库的php的应用。

oc get templates -n openshift

寻找有php的模版:

oc get templates -n openshift | grep php

查看某模板介绍:

oc describe template cakephp-mysql-example -n openshift

查看某模板全部内容,以YAML的格式打印在命令行中:

oc get template cakephp-mysql-example -n openshift -o yaml

或者直接存成yaml文件查看

oc get template cakephp-mysql-example -n openshift -o yaml > cakephp-mysql-example.yaml

列出模版所需参数:

oc process --parameters cakephp-mysql-example -n openshift
创建模版

用YAML文件新建模版到当前的项目中:

oc create -f my-template.yaml -n my-project

其中的YAML模版文件,你可以手动写,或者从当前项目中的对象抽取出来:

oc get all -o yaml > my-template.yaml
使用模版

使用YAML中定义的模版:

oc process -f my-template.yaml PARM1=VALUE1 PARM2=VALUE2 | oc create -

使用项目中已有的模版:

oc process my-template PARM1=VALUE1 PARM2=VALUE2 | oc create -

或:

oc new-app --template=my-template 
	-p PARM1=VALUE1 
	-p PARM2=VALUE2
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/841789.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号