openshift template介绍

使用Helm在OpenShift上部署应用 文章目录使用Helm在OpenShift上部署应用前言安装Helm创建Helm chartHelm chart目录结构准备Helm template文件在`_helpers.tpl` 中编写函数`metadata.labels``selector`在`values.yaml`中定义变量用变量替换template文件中的值调试template使用Helm部署应用测试应用使用Helm升级或卸载应用(可选)参考文档 使用Helm在OpenShift上部署应用 前言 在OpenShift上导出应用YAML配置并重新 阅读详情

原文: https://docs.openshift.com/container-platform/3.11/dev_guide/templates.html

概述

在openshift云平台,我们会使用模版配合不同的参数来创建不同的应用,即,一个模版是一系列可以被参数化并创建一组对象的集合。模版可以创建任何你有权限创建的任意对象,例如services, build cnofiguration以及deploy configuration。一个模版通常会给模版中所常见的对象定义标签(labels)。

你可以自己定义模版 ,也可以使用已经上传的模版。

上传模版

如果你用的json或者yaml去定义个template, 你可以通过cli上传模版,这样任何人只要和合适的权限都可以使用该模版。

上传模版到当前项目,使用以下命令:

$ oc create -f <filename>

上传模版到不同的项目,则需要指定项目,如下:

$ oc create -f <filename> -n <project>

基于模版创建应用,有两种方法,即可参考 Creating an Application Using the Web Console也可以通过cli去创建。

标签

标签用于管理已经生成的对象,例如pods。我们可以定义模版时就定义好标签,也可以通过命令行去给整个模版的对象添加标签。

命令如下:

$ oc process -f <filename> -l name=otherLabel

参数

模版中的一些参数在使用模版时可以被覆盖。你可以命令行获取到指定模版文件的参数。命令如下:

$ oc process --parameters -f <filename>

如果模版已经上传,则你可以使用以下命令:

$ oc process --parameters -n <project> <template_name>

对于模版中参数更多内容,可参考 parameters section of the template。

生成对象

通过cli,你可以使用以下指令来处理模版文件而生成所有对象到标准输出。

$ oc process -f <filename>

如果模版已经上传,则你可以使用以下指令:

$ oc process <template_name>

这两个命令,并没有真正的生成对象。我们需要使用以下命令,处理模版到标准输出然后管道输出给真正的创建指令:

$ oc process -f <filename> | oc create -f -

如果模版已经上传,则你可以使用以下指令:

$ oc process <template> | oc create -f -

可以和“-p”选项一起使用去重写模版参数的值,如下指令:

$ oc process -f my-rails-postgresql \
    -p POSTGRESQL_USER=bob \
    -p POSTGRESQL_DATABASE=mydatabase \
    | oc create -f -

如果参数比较多,你可以将他们存入文件中,然后直接使用参数文件,如下指令:

$ cat postgres.env
POSTGRESQL_USER=bob
POSTGRESQL_DATABASE=mydatabase
$ oc process -f my-rails-postgresql --param-file=postgres.env、

你也可以通过标准输出指定参数,命令如下:

$ sed s/bob/alice/ postgres.env | oc process -f my-rails-postgresql --param-file=-

编辑已上传的模版

使用以下指令去编辑已经上传到当前项目的模版:

$ oc edit template <template>

即时应用和快速入门模版

openshift容器平台默认提供了一些即可应用和快速入门模版,以支持用户可以快速创建应用。这样的模版有rails, Django, node.js, CakePHP,以及Perl. 你可以通过以下指令去查看模版:

$ oc get templates -n openshift

如果没有输出,则可参考 Loading the Default Image Streams and Templates。

模版,这些模版的编译的是GitHub的一些共同的源代码。如果你想编译源码并构建应用,则你需要:

  1. Fork模版中默认的SOURCE_REPOSITORY_URL参数
  2. 当基于模版时创建应用时,覆盖参数的值

如果,你想查看这一过程的基于web console的整个演练,可参考 Getting Started for Developers: Web Console.

编写模版

当你需要重复创建你的应用是,你可以定义模版。格式如下:

apiVersion: v1
kind: Template
metadata:
  name: redis-template
  annotations:
    description: "Description"
    iconClass: "icon-redis"
    tags: "database,nosql"
objects:
- apiVersion: v1
  kind: Pod
  metadata:
    name: redis-master
  spec:
    containers:
    - env:
      - name: REDIS_PASSWORD
        value: ${REDIS_PASSWORD}
      image: dockerfile/redis
      name: master
      ports:
      - containerPort: 6379
        protocol: TCP
parameters:
- description: Password used for Redis authentication
  from: '[A-Z0-9]{8}'
  generate: expression
  name: REDIS_PASSWORD
labels:
  redis: master

描述

模版的描述是通知用户这个模版是干什么的,然后帮助用户在web console端很容易的找到。其他的metadata则可有可无。

 

标签

模版可以包含许多标签。当这些模版被实例化时,这些标签就会添加给这个对象。例如,定下以下标签,则可以让我们很容易的找到基于这个模版创建的所有的对象。

kind: "Template"
apiVersion: "v1"
...
labels:
  template: "cakephp-mysql-example" 
  app: "${NAME}" 

参数

当模版被实例化时,参数的值可以被用户提供,可以被直接生成。如果提供了默认值,则用户在实例化模版时,则可以不指定该参数。

参数1: 默认参数

parameters:
  - name: USERNAME
    description: "The user name for Joe"
    value: joe

参数2:生成参数值

parameters:
  - name: PASSWORD
    description: "The random user password"
    generate: expression
    from: "[a-zA-Z0-9]{12}"

对象列表

模版中最主要的部分就是模版实例化时生成的一组对象。对象类型没有限制。

从已存在的对象中创建模版

可通过以下命令导出已有的对象作为参考并完成自己的模版比自己从头写要简单的多。

 

$ oc get -o yaml --export all > <yaml_filename>

其中all可以替换为bc, dc等其他对象。

openshift/origin学习记录(5)——添加Template(模板)并基于模板部署应用 学习资料来源于官方英文文档与《开源容器云OpenShift》一书,因为刚开始学习,不确定博客的正确性,以下内容仅供参考。本部分是在openshift/origin学习记录(1)——基于二进制文件的安装(单机版)的基础上进行。添加模板为了满足用户对复杂应用部署的需求,提供应用部署的效率,openshift引入了应用部署模板(Template)的概念。通过Template,可以定义一个或多个需要部署的镜 阅读详情

相关推荐

openshift/origin学习记录(7)——集成Jenkins服务

学习资料来源于官方英文文档与《开源容器云OpenShift》一书,因为刚开始学习,不确定博客的正确性,以下内容仅供参考。 Openshift项目提供了集成Openshift插件的Jenkins容器镜像和部署模板。 o Openshift项目默认提供了两个Jenkins部署模板:jenkins-ephemeral-template、jenkins-persistent-template...

个人学习记录 7183

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

什么是OpenShift模版,如何使用模版来偷懒?

chuuuing的博客 1349

在OpenShift上导出应用YAML配置并重新部署应用

文章目录在OpenShift上导出应用YAML配置并重新部署应用前言导出OpenShift YAML删除导出的Yaml中多余的字段去掉Build Config的triggers(可选)修改DeploymentConfig在一个新的项目中测试参考文档 在OpenShift上导出应用YAML配置并重新部署应用 文章目录在OpenShift上导出应用YAML配置并重新部署应用前言导出OpenShift YAML删除导出的Yaml中多余的字段去掉Build Config的triggers(可选)修改Deployme

锐意工作室 1978

Openshift 基于Template部署应用

Openshift基于template部署应用Template 是什么?Template 部署应用(附:常用配置说明)创建Template,并在web console查看通过label查看资源情况通过label删除所有资源 Template 是什么? Template是一组对象的集合objects, 包括BC,DC,Service,route等,template可以针对里面定义的一组对象指定标签,...

运维求生之路 1815

六自由度机器人(机械臂)运动学建模及运动规划系列(一)——简介

毕业设计做了六轴机器人相关的课题,做完之后学到很多,在这里分享一下。

weixin_47849087的博客 2万+

Silvaco TCAD 2018安装后,如何配置TonyPlot 5.0.22.R并解决绘图报错?

本文详细介绍了在Windows系统上安装Silvaco TCAD 2018后,如何正确配置TonyPlot 5.0.22.R并解决常见的绘图报错问题。内容包括版本兼容性分析、环境变量设置、常见错误解决方案以及性能优化建议,帮助用户顺利完成仿真结果的可视化工作。

weixin_31031711的博客 419

自定义 OpenShift s2i 镜像与模板——OracleJDK8

由于 OpenShift 官方提供的镜像与模板(OpenJDK8)不能完全满足业务需要,本文将带你自定义一个基于OracleJDK8的自定义镜像及模板,带你体会创建自定义模板+自定义S2I镜像的完整流程。

拾级而上 1820

AutoCAD2016安装破解教程

AutoCAD2016安装破解教程。本人亲自实验,破解成功,有效。以64位为例。 工具/原料   笔记本电脑 AutoCAD2016安装包 AutoCAD2016注册机(xf-adsk2016_x64.exe)链接:http://pan.baidu.com/s/1cAZQA windows7/8/8.1/10-32...

weixin_33804990的博客 1万+

开源容器openshift学习笔记(4):添加Template(模板)

开篇之前如果没有安装openshift环境可以参考我的博文:centos7下安装openshift 本系列博客学习笔记参考《开源容器云openshift》一书:下载连接:https://download.youkuaiyun.com/download/u012371097/10745382 部署容器应用,可以很简单: 直接通过 docker run 或 oc new- app 命令即可完成。但是有时候它也...

liuchuanliang的博客 1224

Carla-UE4Editor导入RoadRunner地图文件(保姆级教程)

以Carla官网导入RoadRunner地图的标准文档为参考,里面增添了很多细节和注意事项,遇到问题的小伙伴过来看看吧。

DSK_981029的博客 1万+

基于python的奥运会历史数据分析【120年】

数据分析实战案例

xff123456_的博客 3338

Openshift template的使用

1.template的定义 官方对template的定义是 A template describes a set of objects that can be parameterized and processed to produce a list of objects for creation by OKD. A template can be processed to...

weixin_30570101的博客 563

OCR文字识别领域经典论文总结

本篇将介绍文字识别经典论文,内容包括文字检测、文字识别、端到端识别等方法,具体将分别对论文算法简介、思路、代码等几个部分展开介绍。目前各部分只举例经典论文,算法没有全部写完,后续会将在此部分基础上更新更多论文综述及代码实战部分。.................................

专注大数据与人工智能技术分享,欢迎私信加群互相学习! 1万+

JImmy的文档: Openshift template

1) 什么是template      Openshift在创建应用过程中需要创建多个资源,例如创建最简单的deployment-example应用,需要创建的Imagestream、Deployemtconfig、Service三个资源,template提供了一种保存多个资源配置的模板,用户可以直接根据模板创建多个资源,完成应用的部署。2) 模板怎么创建    下面提供一个最简单的Deploym...

hj19870806的专栏 961

STM32CubeMX | 38-使用硬件SPI驱动以太网模块(W5500)

本篇详细的记录了如何使用STM32CubeMX配置STM32L431RCT6的硬件SPI外设与以W5500通信,驱动以太网模块。 1. 准备工作 硬件准备 开发板 首先需要准备一个开发板,这里我准备的是STM32L4的开发板(BearPi): W5500以太网模块 这里我使用常见的以太网模块W5500: W5500官网 http://www.w5500.cn/ W5500中文手册 iEthernet W5500 Datasheet 软件准备 需要安装好Keil - MDK及芯片对应的包,以

Mculover666的博客(嵌入式) 7384

基于YOLOv8的城市违建识别系统:从数据集构建到UI界面实现

YOLOv8是Ultralytics公司于2023年推出的最新一代YOLO(You Only Look Once)系列目标检测算法。更高效的骨干网络设计改进的锚框机制更精确的损失函数支持分类、检测、分割等多任务YOLOv8特别适合像违建识别这样的实时检测任务,能够在保持高精度的同时实现快速推理。

YOLO 673

【openshift】在Openshift上通过yaml部署应用

在Openshift上通过yaml部署应用 1.通过直接执行yaml 通过如下命令直接执行 oc create -f nginx.yml nginx.yml apiVersion: v1 items: - apiVersion: apps.openshift.io/v1 # okd 部署配置(dc),与 k8s Deployment 资源对象类似,以启动多个容器的方式生成 pod ...

weixin_30439031的博客 2652

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

template.js模板mysql_(转)添加Template(模板)并基于模板部署应用

通过Template,可以定义一个或多个需要部署的镜像,定义依赖的对象,定义可供用户输入的配置参数项。以cakephp-mysql.json为例。# oc create -f https://raw.githubusercontent.com/openshift/origin/release-3.6/examples/quickstarts/cakephp-mysql.json -n opensh...

weixin_34141225的博客 137

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

OpenShift 4 - 部署MySQL主从复制数据库(附视频)

在OpenShift控制台Developer Catalog中先创建mysql项目,然后找到mysql-replication-example的Template。根据以下配置创建 MySQL 数据库,其中项目选中 mysql。说明:本文已经在 OpenShift 4.11 环境中验证。完成后查看创建的对象。

多恩斯基的博客 1095

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

OpenShift集群完善及创建应用CakePHP

oc进行操作前需要oc login登录,以dev登录 [root@node01 install]# oc login -u dev https://node01:8443 The server is using a certificate that does not match its hostname: x509: certificate is valid for kubernetes, kub...

MrGrant.blog 992

《开源容器云OpenShift:构建基于Kubernetes的企业应用云平台》一2.3 完善OpenShift集群...

本节书摘来自华章出版社《开源容器云OpenShift:构建基于Kubernetes的企业应用云平台》一书中的第2章,第2.3节,作者 陈耿 ,更多章节内容可以访问云栖社区“华章计算机”公众号查看 2.3 完善OpenShift集群 在部署更复杂的应用之前,有一项重要的任务需要完成,那就是完善OpenShift集群。在上一章中,通过二进制的安装包,我们快速...

weixin_33720078的博客 444

(转)添加Template(模板)并基于模板部署应用

通过Template,可以定义一个或多个需要部署的镜像,定义依赖的对象,定义可供用户输入的配置参数项。 以cakephp-mysql.json为例。 # oc create -f https://raw.githubusercontent.com/openshift/origin/release-3.6/examples/quickstarts/cakephp-mysql.json -n...

weixin_30807779的博客 152

Openshift构建前端项目并配置nginx读取环境变量

Openshift构建前端项目并配置nginx读取环境变量一、 简介二、 准备docker-entrypoint.sh文件三、 准备nginx.conf.template文件四、 新增run_nginx文件五、 修改run文件六、 修改Dockerfile文件内容七、 修改makefile文件八、 构建镜像九、使用环境变量 一、 简介 Nginx代理后台接口地址,是将后台接口配置在配置文件nginx.conf文件中,但是nginx.conf文件无法直接使用“$”读取linux的环境变量,本次需求为在open

weixin_44707404的博客 1304

OpenShift 4 - 在 CI/CD Pipeline 中创建 KubeVirt 容器虚拟机 - 方法1+2 (视频)

说明:本文已经在支持 OpenShift 4.12 的 OpenShift 环境中验证。

多恩斯基的博客 1031

OpenShift 4 - 通过 REST API 操作 OpenShift

OpenShift 4 - 通过 REST API 操作 OpenShift说明获取项目列表新建my-project项目获得my-project项目的信息获取cakephp-mysql-example模板根据cakephp-mysql-example模板创建应用获取my-project项目中所有Pod获取my-project项目中名为XXX的Pod删除my-project项目中名为XXX的Pod获...

多恩斯基的博客 1974

openshift 学习笔记-5 template使用

创建微服务 new-appvito@caas:~$ oc new-project myci Already on project "myci" on server "https://openshift-cluster.example.com:8443".You can add applications to this project with the 'new-app' command. For e

vito 4487
上一篇: docker进程的配置和调试
下一篇: Dockerfiles ENV和ARG的应用
solinger
博客等级 码龄16年 125粉丝 99原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值