openshift/origin学习记录(5)——添加Template(模板)并基于模板部署应用

学习资料来源于官方英文文档与《开源容器云OpenShift》一书,因为刚开始学习,不确定博客的正确性,以下内容仅供参考。

本部分是在openshift/origin学习记录(1)——基于二进制文件的安装(单机版)的基础上进行。

添加模板

为了满足用户对复杂应用部署的需求,提供应用部署的效率,openshift引入了应用部署模板(Template)的概念。

通过Template,可以定义一个或多个需要部署的镜像,定义依赖的对象,定义可供用户输入的配置参数项。

  • 以管理员登录,并切换到openshift工程。
# oc login -u system:admin
# oc project openshift

openshift是一个特殊的项目,在这个项目下创建的所有Image Stream及Template对集群内所有的用户和项目可见。

如果Image Stream及Template在其他项目下创建,则只能在创建这些对象的项目中可见。

https://github.com/openshift/origin/tree/release-3.6/examples/quickstarts下有官方提供的一系列模板可供下载使用。

以cakephp-mysql.json为例。

# oc create -f https://raw.githubusercontent.com/openshift/origin/release-3.6/examples/quickstarts/cakephp-mysql.json -n openshift
# oc get template -n openshift

部署应用

以上文导入的cakephp-mysql模板为例。

  • 登录openshift web控制台。新建工程。名为hello-world-php,项目显示名为Hello World Php。
  • 在服务目录过滤器里输入cake,找到cakephp-mysql-example模板。
  • 选择cakephp-mysql-example模板,跳转至Template的参数输入页面。

主要修改Application Hostname(暴露的主机名,将路由到CakePHP的服务)。这里我填写的是master.example.com。

需要注意,master.example.com只是测试域名,并不能被互联网域名解析器解析。 需要修改浏览器所在机器的hosts文件,手动添加解析将master.example.com指向openshift集群master所在的IP地址。(多节点集群需要指向Router所在的ip) Windows系统: C:\windows\system32\drivers\etc\hosts Linux系统:/etc/hosts

  • 点击Template参数输入页面底部的Create按钮,执行部署。跳转至部署完成界面。
  • 点击Continue to overview链接。

跳转到项目的概览页面。Openshif会在后台创建相应的对象,并下载相关的镜像。

由于CakePHP应用涉及一个镜像构建的过程,即Source to Image,所以构建速度较慢。

  • 展开cakephp-mysql-example。
  • 点击view full log可以查看实时日志输出。

可以看出,Openshift会从GitHub仓库中下载指定的PHP源代码,然后将代码注入一个含PHP运行环境的镜像,最后生成一个包含PHP应用以及PHP运行环境的新镜像,并将新的镜像推送到前文部署的内部镜像仓库中。

如果构建过程中出现docker push镜像到内部镜像仓库的错误,需要检查内部镜像仓库是否正确部署与配置。即有没有忘记设置docker的--insecure-registry参数

  • 构建完成后,单击左侧菜单栏的Overview按钮,回到项目主页。

至此demo应用部署成功。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Python中文社区

几个提高工作效率的Python内置小工具

專 欄 ❈本文作者:赖明星 博客地址: https://www.zhihu.com/people/mingxinglai❈ 在这篇文章里,我们将会介绍4个Pyt...

2078
来自专栏腾讯云服务器团队的专栏

在 CentOS7.2 下 DIY 动手搭建一个 WordPress

在 CentOS7.2 下 DIY 动手搭建一个 WordPress。在命令行下手动搭建一个 WordPress 博客。用于开始进入云服务器的第一步。

9563
来自专栏武培轩的专栏

Notepad++中实现Markdown语法高亮与实时预览

Notepad ++是一个十分强大的编辑器,除了可以用来制作一般的纯文字说明文件,也十分适合编写计算机程序代码。Notepad ++不仅有语法高亮度显示,也有语...

3036
来自专栏项勇

笔记67 | 记录从android stuido传代码到github的学习过程

1513
来自专栏Java工程师日常干货

【SpringBoot专题】多环境配置及swagger前言多环境配置分析swagger

在上一篇博客《【SpringBoot专题】快速体验 》中已经带领大家初步了解了SpringBoot,本篇博客将为大家介绍多环境配置、swagger等相关内容。

824
来自专栏林德熙的博客

docfx 做一个和微软一样的文档平台 下载安装创建文档文件生成文档查看文档添加文档添加代码文档做自己的修改忽略不使用的api继续在微软上开发

开发中,有一句话叫 最不喜欢的是写文档,最不喜欢的是看别人家代码没有文档。那么世界上文档写最 la 好 ji 的就是微软了,那么微软的api文档是如何做的?难道...

371
来自专栏草根专栏

发布 ASP.NET Core 2.x 应用到 Ubuntu

简单绍一下如何将ASP.NET Core 应用发布到Linux (Ubuntu)服务器上,都是文档的东西。

602
来自专栏维C果糖

详述 Sublime Text 打开 GBK 格式乱码的解决方法

  Sublime Text 是一个代码编辑器,其具有漂亮的用户界面和强大的功能,例如代码缩略图,Python 的插件,代码段等。还可自定义键绑定,菜单和工具栏...

2959
来自专栏河湾欢儿的专栏

gulp

简单介绍 gulp是基于node开发的所以可以使用npm这个nodejs的包管理工具安装gulp,使用npm首先得配置node环境

711
来自专栏java一日一条

使用 Nginx 自己实现一个 Web 调试代理服务器

在Hecker News中我提到过,我记录了一种我使用NGINX(一个久经考验的产品,可以迅速地反向代理)作为一个本地测试代理服务器的方法。

301

扫码关注云+社区