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

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介:

本节书摘来自华章出版社《开源容器云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步时,平台将通过滚动更新的方式,保证应用在新老实例交替时服务不间断。关于滚动更新的细节,在后面的章节将会有更详细的讨论。

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
1月前
|
存储 运维 Kubernetes
正式开源,Doris Operator 支持高效 Kubernetes 容器化部署方案
飞轮科技推出了 Doris 的 Kubernetes Operator 开源项目(简称:Doris Operator),并捐赠给 Apache 基金会。该工具集成了原生 Kubernetes 资源的复杂管理能力,并融合了 Doris 组件间的分布式协同、用户集群形态的按需定制等经验,为用户提供了一个更简洁、高效、易用的容器化部署方案。
正式开源,Doris Operator 支持高效 Kubernetes 容器化部署方案
|
6月前
|
存储 Kubernetes 监控
在K8S中,发布应用流程是什么?
在K8S中,发布应用流程是什么?
|
3月前
|
Ubuntu 网络安全 容器
KubeSphere 是一个开源的容器平台,提供丰富的功能和便捷的操作界面,适用于企业容器化部署和管理
KubeSphere 是一个开源的容器平台,提供丰富的功能和便捷的操作界面,适用于企业容器化部署和管理。本文详细介绍了如何在 Ubuntu 22.04 上安装 KubeSphere,包括系统要求、安装依赖项、设置防火墙、下载安装脚本、选择安装选项、验证安装结果等步骤,并提供了常见问题的解决方法。希望本文能为读者提供实用的参考和帮助。
64 3
|
3月前
|
Kubernetes 安全 容器
关于K8s,不错的开源工具
【10月更文挑战第12天】
103 7
|
9月前
|
运维 Kubernetes 测试技术
容器技术:优化软件测试流程的利器
本文介绍了容器技术的概念、优势和历史发展,对比了容器与虚拟机的区别,并提及了Docker和Kubernetes等常见容器技术。容器作为轻量级虚拟化工具,提供高效、灵活的应用部署方式,广泛应用于软件开发、云计算和微服务架构。随着技术演进,容器将在边缘计算、人工智能等领域发挥更大作用,推动行业变革。
|
5月前
|
Linux pouch 容器
CentOS7部署阿里巴巴开源的pouch容器管理工具实战
关于如何在CentOS 7.6操作系统上安装和使用阿里巴巴开源的Pouch容器管理工具的实战教程。
162 2
|
6月前
|
JSON JavaScript 开发者
Composerize神器:自动化转换Docker运行命令至Compose配置,简化容器部署流程
【8月更文挑战第7天】Composerize神器:自动化转换Docker运行命令至Compose配置,简化容器部署流程
Composerize神器:自动化转换Docker运行命令至Compose配置,简化容器部署流程
|
5月前
|
机器学习/深度学习 人工智能 物联网
探索云平台:构建未来计算的基石
本文旨在深入探讨云平台的基本概念、核心优势及其在现代IT架构中的关键作用。我们将从云计算的起源讲起,逐步解析云平台的运作机制,并通过具体案例展示其如何推动企业创新和效率提升。无论是创业者还是资深技术专家,了解云平台的本质和发展动向,都是把握未来科技趋势的重要一步。
151 2
|
6月前
|
Kubernetes Java 开发工具
Kubernetes部署项目流程(新手上线新版本服务整个流程)
【8月更文挑战第1天】Kubernetes(k8s)新手上线新版本服务整个流程
132 5
|
6月前
|
存储 Kubernetes API
在K8S中,陈述⼀下创建Pod的流程?
在K8S中,陈述⼀下创建Pod的流程?

相关产品

  • 容器服务Kubernetes版