《开源容器云OpenShift:构建基于Kubernetes的企业应用云平台》一3.3 核心流程详解-阿里云开发者社区

开发者社区> 华章计算机> 正文

《开源容器云OpenShift:构建基于Kubernetes的企业应用云平台》一3.3 核心流程详解

简介:
+关注继续查看

本节书摘来自华章出版社《开源容器云OpenShift:构建基于Kubernetes的企业应用云平台》一书中的第3章,第3.3节,作者 陈耿 ,更多章节内容可以访问云栖社区“华章计算机”公众号查看

3.3 核心流程详解

OpenShift容器云提供了众多基础设施和工具,承载了众多功能和特性,帮助用户通过这个平台提升企业IT的效率和敏捷度。纵观OpenShift容器云项目,其中最重要的核心流程是将应用从静态的源代码变成动态的应用服务的过程。前文介绍的OpenShift及Kubernetes的核心组件和概念都是为了支持和实现这个过程而引入的。
应用部署到应用上线响应用户请求的全流程如图3-3所示。这个流程涉及了多种不同类型的OpenShift对象。所有对象的信息最终都记录在etcd集群数据库中。

3.3.1 应用构建

第1步,部署应用。流程的开始是用户通过OpenShift的Web控制台或命令行oc new-app创建应用。根据用户提供的源代码仓库地址及Builder镜像,平台将生成构建配置(Build Conf?ig)、部署配置(Deployment Conf?ig)、Service及Route等对象。
第2步,触发构建。应用相关的对象创建完毕后,平台将触发一次S2I构建。
第3步,实例化构建。平台依据应用的Build Conf?ig实例化一次构建,生成一个Build对象。Build对象生成后,平台将执行具体的构建操作,包括下载源代码、实例化Builder镜像、执行编译和构建脚本等。

image

第4步,生成镜像。构建成功后将生成一个可供部署的应用容器镜像。平台将把此镜像推送到内部的镜像仓库组件Registry中。
第5步,更新Image Stream。镜像推送至内部的仓库后,平台将创建或更新应用的Image Stream的镜像信息,使之指向最新的镜像。

3.3.2 应用部署

第6步,触发镜像部署。当Image Stream的镜像信息更新后,将触发平台部署S2I构建生成的镜像。
第7步,实例化镜像部署。Deployment Conf?ig对象记录了部署的定义,平台将依据此配置实例化一次部署,生成一个Deploy对象跟踪当次部署的状态。
第8步,生成Replication Controller。平台部署将实例化一个Replication Controller,用以调度应用容器的部署。
第9步,部署容器。通过Replication Controller,OpenShift将Pod及应用容器部署到集群的计算节点中。

3.3.3 请求处理

第10步,用户访问。用户通过浏览器访问Route对象中定义的应用域名。
第11步,请求处理并返回。请求到Router组件后,Router根据Route定义的规则,找到请求所含域名相关联的Service的容器,并将请求转发给容器实例。容器实例除了请求后返回数据,还会通过Router将数据返回给调用的客户端。

3.3.4 应用更新

在应用更新时,平台将重复上述流程的第1步至第9步。平台将用下载更新后的代码构建应用,生成新的镜像,并将镜像部署至集群中。值得注意的是,OpenShit支持滚动更新。在第9步时,平台将通过滚动更新的方式,保证应用在新老实例交替时服务不间断。关于滚动更新的细节,在后面的章节将会有更详细的讨论。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
从0到1,云服务助力全民直播快速构建大数据平台
随着业务的快速发展,全民直播如何应对来自技术与运营方面的挑战?6月7日,在上海世博中心,2018云栖大会·上海峰会阿里云支持与服务专场上,全民直播大数据架构师朱益发表主题演讲,详细介绍了从0到1,云服务助力全民直播快速构建大数据平台的过程。
1827 0
基于OpenStack构建企业私有云(1)实验环境准备
基于OpenStack构建企业私有云,能够帮助大家快速的部署两个节点的OpenStack集群。
93 0
基于OpenStack构建企业私有云(1)实验环境准备
基于OpenStack构建企业私有云,能够帮助大家快速的部署两个节点的OpenStack集群。
344 0
基于OpenStack构建企业私有云(1)实验环境准备
基于OpenStack构建企业私有云,能够帮助大家快速的部署两个节点的OpenStack集群。
121 0
通用社区登陆组件技术分享(开源)中篇:OAuth 登陆组件流程及组件集成方法
原文http://www.cnblogs.com/cyq1162/archive/2012/11/06/2756247.html   上节内容:通用社区登陆组件技术分享(开源)上篇:OAuth 授权登陆介绍   本节包括以下内容: 1:第三方社区账号登陆的授权流程 2:OAuth2 组件的下载及web.
793 0
阿里巴巴开源OpenJDK长期支持版本,Java全球管理组织唯一中国企业
3月19日据媒体报道,阿里巴巴即将开源OpenJDK长期支持版本Alibaba Dragonwell,为全球Java界开发者提供了一个新的选择。
12252 0
阿里云产品部总经理:AIoT 加速企业构建数字世界-APSARA 2019
分享人介绍:何云飞 阿里云智能产品管理部总经理、AIoT事业部产品与解决方案总经理
4145 0
10059
文章
0
问答
来源圈子
更多
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载