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

相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
9月前
|
Kubernetes Devops 应用服务中间件
基于 Azure DevOps 与阿里云 ACK 构建企业级 CI/CD 流水线
本文介绍如何结合阿里云 ACK 与 Azure DevOps 搭建自动化部署流程,涵盖集群创建、流水线配置、应用部署与公网暴露,助力企业高效落地云原生 DevOps 实践。
1072 2
|
运维 Kubernetes Docker
利用Docker和Kubernetes构建微服务架构
利用Docker和Kubernetes构建微服务架构
|
存储 Kubernetes 监控
在K8S中,发布应用流程是什么?
在K8S中,发布应用流程是什么?
|
数据采集 人工智能 算法
建筑矿山设备工厂如何应用MyEMS开源能源云平台
建筑矿山设备工厂是一家全球领先的采矿和基础设施技术公司,1993年在南京设立首家中国工厂,专注于研发与生产露天凿岩设备、地下采矿设备等。2014年将中国区总部迁至南京,进一步深化本土化战略。MyEMS开源能源管理系统基于ISO 50001标准,提供电、水、气等多能源介质的采集、分析与优化功能,助力工厂实现能耗透明化、碳排放管理及能效提升。项目成果显著,通过AI驱动的能效模型和预测性维护,实现年度电费节省超50万元,碳排放强度下降12%。未来计划进一步整合微电网与智能化技术,推动绿色智能制造转型。
215 0
|
存储 运维 Kubernetes
正式开源,Doris Operator 支持高效 Kubernetes 容器化部署方案
飞轮科技推出了 Doris 的 Kubernetes Operator 开源项目(简称:Doris Operator),并捐赠给 Apache 基金会。该工具集成了原生 Kubernetes 资源的复杂管理能力,并融合了 Doris 组件间的分布式协同、用户集群形态的按需定制等经验,为用户提供了一个更简洁、高效、易用的容器化部署方案。
1059 16
正式开源,Doris Operator 支持高效 Kubernetes 容器化部署方案
|
Ubuntu 网络安全 容器
KubeSphere 是一个开源的容器平台,提供丰富的功能和便捷的操作界面,适用于企业容器化部署和管理
KubeSphere 是一个开源的容器平台,提供丰富的功能和便捷的操作界面,适用于企业容器化部署和管理。本文详细介绍了如何在 Ubuntu 22.04 上安装 KubeSphere,包括系统要求、安装依赖项、设置防火墙、下载安装脚本、选择安装选项、验证安装结果等步骤,并提供了常见问题的解决方法。希望本文能为读者提供实用的参考和帮助。
458 3
|
Kubernetes 负载均衡 Docker
构建高效微服务架构:Docker与Kubernetes的完美搭档
本文介绍了Docker和Kubernetes在构建高效微服务架构中的应用,涵盖基本概念、在微服务架构中的作用及其实现方法。通过具体实例,如用户服务、商品服务和订单服务,展示了如何利用Docker和Kubernetes实现服务的打包、部署、扩展及管理,确保微服务架构的稳定性和可靠性。
368 7
|
Kubernetes 安全 容器
关于K8s,不错的开源工具
【10月更文挑战第12天】
419 7
|
Kubernetes 负载均衡 Docker
构建高效微服务架构:Docker与Kubernetes的完美搭档
【10月更文挑战第22天】随着云计算和容器技术的快速发展,微服务架构逐渐成为现代企业级应用的首选架构。微服务架构将一个大型应用程序拆分为多个小型、独立的服务,每个服务负责完成一个特定的功能。这种架构具有灵活性、可扩展性和易于维护的特点。在构建微服务架构时,Docker和Kubernetes是两个不可或缺的工具,它们可以完美搭档,为微服务架构提供高效的支持。本文将从三个方面探讨Docker和Kubernetes在构建高效微服务架构中的应用:一是Docker和Kubernetes的基本概念;二是它们在微服务架构中的作用;三是通过实例讲解如何使用Docker和Kubernetes构建微服务架构。
338 6
|
Linux pouch 容器
CentOS7部署阿里巴巴开源的pouch容器管理工具实战
关于如何在CentOS 7.6操作系统上安装和使用阿里巴巴开源的Pouch容器管理工具的实战教程。
438 2
CentOS7部署阿里巴巴开源的pouch容器管理工具实战

相关产品

  • 容器服务Kubernetes版
  • 推荐镜像

    更多