当前位置: 首页 > news >正文

解读OpenShift的逻辑架构和技术架构

e68b56c7332f1d288b910338ee265dfe.gif

导读:OpenShift的架构设计主要是针对企业需求进行高可用架构设计,包括计算、网络、存储等。接下来我们针对这些问题逐一展开介绍。

作者:魏新宇 郭跃军

来源:大数据DT(ID:hzdashuju)

01 OpenShift的逻辑架构

OpenShift的逻辑架构图如图2-6所示。

ca38d2698dd0e0a1798b960d7bd3bd15.png

▲图2-6 OpenShift逻辑架构

图2-6中的关键组件介绍如下。

  • 底层基础设施:OpenShift可以运行在公有云(AWS、Azure、Google等)、私有云(OpenStack)、虚拟机(vSphere、RHV、红帽KVM)、X86、IBM Power/Z服务器上。

  • 控制平面(Control Plane):负责整个集群的调度和管理,如认证授权、容器调度、应用管理、服务注册发现等。控制节点需要运行在CoreOS系统上。

  • 计算节点(Worker):提供在OpenShift上运行容器应用所需的计算资源,如Tomcat、MongoDB等。可以选择根据运行的容器类型将节点进一步细分为Infra节点和App节点,Infra节点上运行集群的附加组件(如路由器、日志、监控等),App节点上运行真实的业务应用容器。计算节点可以运行在CoreOS或RHEL上。

  • Kubernetes层:OpenShift会集成次新版本的Kubernetes,通过Kubernetes实现核心功能。

  • 应用生命周期管理层:OpenShift通过Jenkins或Teckton实现应用的CI/CD。

  • Service Catalog层:提供多种预安装的应用服务,如Redis、OpenJDK等,实现基础服务的快速创建和管理,实现自服务。

  • 容器层:OpenShift上可以运行多种编程语言运行时、数据库和其他软件包的认证容器镜像。

02 OpenShift的技术架构

了解OpenShift的逻辑架构之后,接下来讲解在OpenShift中使用了哪些关键性技术。OpenShift的技术架构如图2-7所示。

ddcd4b168f55235145bbe21fa0d34a43.png

▲图2-7 OpenShift的技术架构

按照层级,我们自下往上进行介绍。

  • OpenShift的基础操作系统是Red Hat CoreOS。Red Hat CoreOS是一个精简的RHEL发行版,专用于容器执行的操作系统。

  • CRI-O是Kubernetes CRI(容器运行时接口)的实现,以支持使用OCI(Open Container Initiative)兼容的运行时。CRI-O可以使用满足CRI的任何容器运行时,如runC、libpod或rkt。

  • Kubernetes是容器调度编排和管理平台,关于它的具体功能我们不再赘述。

  • Etcd是一个分布式键值存储,Kubernetes使用它来存储有关Kubernetes集群元数据和其他资源的配置及状态信息。

  • 自定义资源定义(CRD)是Kubernetes提供的用于扩展资源类型的接口,自定义对象同样存储在Etcd中并由Kubernete管理。

  • 容器化服务(Containerized Service)实现了PaaS功能组件以容器方式在OpenShift上运行。

  • 应用程序运行时和xPaaS(Runtime and xPaaS)是可供开发人员使用的基本容器镜像,每个镜像都预先配置了特定的运行时语言或数据库。xPaaS产品是红帽中间件产品(如JBoss EAP和ActiveMQ)的一组基础镜像。OpenShift应用程序运行时(RHOAR)是在OpenShift中运行云原生应用的程序运行时,包含Red Hat JBoss EAP、OpenJDK、Thorntail、Eclipse Vert.x、Spring Boot和Node.js。

  • DevOps工具和用户体验:OpenShift提供用于管理用户应用程序和OpenShift服务的Web UI和CLI管理工具。OpenShift Web UI和CLI工具是使用REST API构建的,可以与IDE和CI平台等外部工具集成使用。

我们已经从技术架构图中了解到技术组件的概貌,限于篇幅,OpenShift中一些关键技术的细节的深入介绍,可阅读《OpenShift在企业中的实践》一书第2.2.2节。

关于作者:魏新宇,红帽副首席解决方案架构师。在IaaS、PaaS方面有丰富的经验,致力于开源解决方案在企业中的推广和应用。从售前角度主导了红帽在金融、汽车行业的多个PaaS项目。曾就职于华为、IBM、VMware。

郭跃军,目前就职于VMware,担任Solutions Engineer。曾于红帽担任PaaS咨询顾问、AWS顾问服务团队担任云架构咨询顾问,熟悉私有云和公有云生态。从2015年接触容器技术开始,一直奋战在PaaS建设一线,参与了很多OpenShift项目的竞标、PoC、咨询和落地实施,帮助很多企业实现了数字化转型。

本文摘编自《OpenShift在企业中的实践:PaaS DevOps 微服务》(第2版),经出版方授权发布。

6aab51fc944808b756cb19162cfa03e9.png

延伸阅读《OpenShift在企业中的实践》

推荐语:本书以红帽OpenShift v4为核心编写,从客户的数字化转型入手,介绍如何通过OpenShift构建PaaS平台、实现DevOps、云原生、微服务。

85f6c7f0645b98eee499b31433904ae3.gif

刷刷视频👇

c2875f79014f2f8602cb7a195c2253b7.gif

更多精彩回顾

书讯 | 4月书讯(下)| 上新了,华章

书讯 | 4月书讯(上)| 上新了,华章

资讯 | 一图看懂边缘计算整体架构

书单 | 金三银四求职季,十道腾讯算法真题解析!

干货 | Koa在实际的业务场景中,路由如何做分割?

收藏 | 一图梳理企业数据治理的8项举措

上新 | Webpack实战:入门、进阶与调优(第2版)

书评 | 数据分析即未来

赠书 | 【第98期】终于有人把Flink设计理念与基本架构讲明白了

c1376c6889b6c1bd76583b1afd5d9f2f.gif

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 视频时代的大数据:问题、挑战与解决方案
  • NLP大牛菲利普•科恩机器翻译权威著作
  • TypeScript 中的“类型”到底是个啥?
  • Koa开发:Node服务中非常重要的概念——进程管理
  • 从loser到产品大牛,你经历的我都经历了
  • 读书会 | 为什么《数据中台:让数据用起来》,值得每个数据人读?
  • 重新思考企业架构
  • 概率为何反直觉?
  • 手把手教你用Pandas 合并两行为一行并调整行顺序
  • C++20 用微软的提案进入协程时代!
  • 构建系统软件三步走,这些书你不可错过!
  • 数字经济下半场中,金融企业应该如何进行数字化经营呢?
  • ClickHouse为啥在字节跳动能这么火?
  • 计算机如何大规模协作?
  • 终于有人把元数据讲明白了
  • [分享]iOS开发-关于在xcode中引用文件夹右边出现问号的解决办法
  • 【162天】黑马程序员27天视频学习笔记【Day02-上】
  • android高仿小视频、应用锁、3种存储库、QQ小红点动画、仿支付宝图表等源码...
  • Java精华积累:初学者都应该搞懂的问题
  • JS+CSS实现数字滚动
  • npx命令介绍
  • PHP CLI应用的调试原理
  • Vue UI框架库开发介绍
  • vue-loader 源码解析系列之 selector
  • Web设计流程优化:网页效果图设计新思路
  • 包装类对象
  • 从地狱到天堂,Node 回调向 async/await 转变
  • 将回调地狱按在地上摩擦的Promise
  • 利用DataURL技术在网页上显示图片
  • 使用SAX解析XML
  • 微信公众号开发小记——5.python微信红包
  • 微信小程序上拉加载:onReachBottom详解+设置触发距离
  • 我有几个粽子,和一个故事
  • 一个SAP顾问在美国的这些年
  • 掌握面试——弹出框的实现(一道题中包含布局/js设计模式)
  • 智能合约开发环境搭建及Hello World合约
  • 测评:对于写作的人来说,Markdown是你最好的朋友 ...
  • 好程序员大数据教程Hadoop全分布安装(非HA)
  • ​Distil-Whisper:比Whisper快6倍,体积小50%的语音识别模型
  • ​软考-高级-系统架构设计师教程(清华第2版)【第15章 面向服务架构设计理论与实践(P527~554)-思维导图】​
  • (+3)1.3敏捷宣言与敏捷过程的特点
  • (C++)八皇后问题
  • (delphi11最新学习资料) Object Pascal 学习笔记---第13章第6节 (嵌套的Finally代码块)
  • (阿里巴巴 dubbo,有数据库,可执行 )dubbo zookeeper spring demo
  • (不用互三)AI绘画:科技赋能艺术的崭新时代
  • (十一)JAVA springboot ssm b2b2c多用户商城系统源码:服务网关Zuul高级篇
  • (四) Graphivz 颜色选择
  • (四)Linux Shell编程——输入输出重定向
  • (一)WLAN定义和基本架构转
  • (一)项目实践-利用Appdesigner制作目标跟踪仿真软件
  • (转) Face-Resources
  • (转)关于如何学好游戏3D引擎编程的一些经验
  • (转载)微软数据挖掘算法:Microsoft 时序算法(5)
  • .net Application的目录
  • .NET CF命令行调试器MDbg入门(四) Attaching to Processes