OpenShift核心流程详解

OpenShift核心流程详解

应用部署到应用上线响应用户请求的全流程如图所示:
在这里插入图片描述

这个流程涉及了多种不同类 型的 OpenShift 对象 所有对象的信息最终都记录在 etcd 集群数据库中。

1. 应用构建

  1. 部署应用。流程的开始是用户通过 OpenShift的 Web 控制台或命令行 oc new-app 创建应用。根据用户提供的源代码仓库地址及 Builder 镜像,平台将生成构建配置(Build Config )、部署配置( Deployment Config )、 Service Route 等对象。
  2. 触发构建。应用相关的对象创建完毕后 平台将触发一次 S2I 构建 。
  3. 实例化构建。平台依据应用的 Build Config 实例化一次构建,生成 Build 对象。Build 对象生成后,平台将执行具体的构建操作,包括下载源代码 、实例化Builder镜像、执行编译和构建脚本等。
  4. 生成镜像。构建成功后平台将生成一个可供部署的应用容器镜像。平台将此镜像推送到内部的镜像仓库组件Registry中。
  5. 更新Image Stream。镜像推送至内部的仓库后,平台将创建或更新应用的Image Stream的镜像信息,使之指向最新的镜像。

2. 应用部署

  1. 触发镜像部署。 Image Stream 的镜像信息更新后,将触发平台部署 S2I 建生成的镜像。
  2. 实例化镜像部署。Deployment Config 对象记录了部署的定义,平台将依据此配置实例化 一次部署,生成 Deploy 对象眼踪当次部署的状态。
  3. 生成 Replication Controller。平台部署将实例化 一个Replication Controller, 用以调度应用容器的部署。
  4. 部署容器。通过 Replication Controller, OpenShift将 Pod 及应用容器部署到集群的计算节点中。

3. 请求处理

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

4. 应用更新

应用更新时,平台将重复上述流程应用构建至应用部署(1-9步)。平台将用下载更新后的代码构建应用,生成新的镜像,并将镜像部署至集群中。OpenShit 支持滚动更新 ,部署容器时,平台将通过滚动更新的方式,保证应用在新老实例交替时服务不间断 。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值