前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >实战派 | 不讲理论讲实战,现场耍一耍openshift | 容器在企业中的应用

实战派 | 不讲理论讲实战,现场耍一耍openshift | 容器在企业中的应用

作者头像
魏新宇
发布2018-03-22 15:30:15
1K0
发布2018-03-22 15:30:15
举报

“如果将现在主流IT技术比作武林的各项武功,那么将Oenshift比喻成天龙八部的中六脉神剑,一点也不为过。”

前言

在2017年1月11日,红帽举办了Openshift Workshop。当天有将近40客户和合作伙伴参与了培训。在培训中,我们一起在AWS公有云上部署了40套openshift环境,并且进行了大量有益的实验。

由于有很多关心OpenShift的朋友未能参加培训,因此笔者在实验环境再次重做了一遍实验,并录了下来,以供读者参考。如果读者未参加过此培训,笔者建议读者先阅读如下文章:

厉害了word哥 | 从两张图看红帽最高深的武功 |OpenShift

视频一共有9段,笔者已上传到腾讯视频上。由于公众号单篇只能放入3个视频,为了读者观看的连续性,我未分开多篇文章发表。因此后6段视频笔者放的是链接。为了方便理解,笔者将对每段视频的内容进行文字描述。需要注意的是,本视频版权归笔者和红帽公司所有。

OSE操作1-创建一个应用parksmap

在本实验中,我们通过使用docker.io上一个现成镜像,部署了一个名字叫parksmap的应用。应用部署好以后,手工创建route,以便我们在外网能够访问这个应用。

最终应用呈现效果:

操作视频如下:

OSE操作2-创建一个新的应用parksmap OSE操作3-创建mongodb

在这两个实验中,首先通过S2I的方式部署一个应用nationalparks(指定building image和source code git)。然后通过镜像创建一个数据库mongodb。接下来,向数据库中插入2740行数据。然后将nationalparks和mongodb关联起来。再将第一步创建的应用parksmap和nationalparks关联起来,这样应用展示的界面除了有地图,还有坐标。

最终应用效果:

操作视频如下:

OSE操作4-为应用创建外置配置参数

在上面的实验中,应用访问数据库的参数,是通过设置环境变量完成的。但在很多实际应用中,这种方法比较麻烦。为了实现解耦,在本实验中,通过创建参数文件,让应用的容器被创建的时候,自动带入和数据相关的参数文件。

视频链接:https://v.qq.com/x/page/j0367c5t7xl.html

CI/CD准备

接下来两个实验,是为了做CD/CD实验的准备。在OSE操作步骤5中,先部署一个jenkins的容器,在实验6中,创建一个live的应用--nationalparks-live和mongodb-live,即模拟生产环境。此前一系列步骤创建的不带live标签的应用(nationalparks和mongodb),模拟成开发测试环境的应用。

OSE操作5-部署jenkins

https://v.qq.com/x/page/i03673xj8si.html

OSE操作6:创建两个带live标签应用,模拟生产环境。

https://v.qq.com/x/page/l0367njrpoz.html

OSE操作7-手工触发build实现CD

https://v.qq.com/x/page/g0367rbay0r.html

在实验7中,首先部署一个pipeline的容器,用于管理nationalparks应用。然后手工触发build。在测试环境的生成的镜像被更新到生产之前,需要手工批准一下。CI/CD与devops的一个显著的区别是dev阶段build好的image,需要在经过相关人员批准以后,才会在生产上部署。

OSE操作8-更新源代码,自动触发S2I。

https://v.qq.com/x/page/t0367fiyggo.html

在本实验中,笔者手工修改了source code。web hookers检测到以后,自动触发应用的build、deploy、Test。然后笔者手工批准了向生产环境部署。最终,新代码在生产环境部署成功。本实验模拟了真正意义上的CI/CD。

OSE操作9

https://v.qq.com/x/page/w0367wciugm.html

在Openshift,部署应用的方法,通常有几个(有但不限于):

通过docker image部署:这种通常直接部署已经包含应用的打包好的镜像,因此通常没有bc。

通过S2I 部署:通过选择building image和指定code。指定完以后,code 先进行build,build成功,会将它push到内部的镜像库,然后部署一个新的pod。因此S2I通常会触发build和deploy。

通过模板部署

模板是可以把和一套应用相关的配置,都写在一起,然后通过这个模板部署应用。使用模板部署最大的好处在于,他可以加快应用的部署速度。模板是由实现写好的yaml或json文件创建的。

本实验展示了通过模板方式,创建一个新的应用-MLBParks。该应用与之前步骤部署的应用相互整合,最终应用展示的效果如下:

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-01-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大魏分享 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档