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

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

一 、OpenShift的逻辑架构

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

▲图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上可以运行多种编程语言运行时、数据库和其他软件包的认证容器镜像。

二、OpenShift的技术架构

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

▲图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平台等外部工具集成使用。

关于作者:魏新宇,红帽副首席解决方案架构师。在IaaS、PaaS方面有丰富的经验,致力于开源解决方案在企业中的推广和应用。从售前角度主导了红帽在金融、汽车行业的多个PaaS项目。曾就职于华为、IBM、VMware。郭跃军,目前就职于VMware,担任Solutions Engineer。曾于红帽担任PaaS咨询顾问、AWS顾问服务团队担任云架构咨询顾问,熟悉私有云和公有云生态。从2015年接触容器技术开始,一直奋战在PaaS建设一线,参与了很多OpenShift项目的竞标、PoC、咨询和落地实施,帮助很多企业实现了数字化转型。

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

责任编辑:武晓燕 来源: 大数据DT
相关推荐

2019-07-17 13:25:03

SparkHadoop架构

2012-07-02 14:39:59

架构敏捷

2015-03-10 15:21:07

HadoopOpenStackCloud Found

2011-08-12 09:14:16

OpenShiftMongoDB

2013-11-19 20:22:02

红帽OpenShiftOpenShift技术

2018-03-12 15:21:20

2021-12-29 06:58:41

架构师数据应用

2021-09-04 00:03:30

AMDCPU架构

2014-09-26 09:53:41

系统架构架构架构演变

2020-04-10 12:12:13

InnoDB存储架构

2010-06-07 10:44:09

2019-01-14 14:25:25

MySQL存储逻辑架构

2016-04-11 14:24:08

用户画像技术架构数据分析

2010-02-04 11:06:14

2023-08-27 15:07:58

2020-10-09 08:26:16

架构

2022-01-07 16:24:30

Kubernetes容器平台

2019-10-22 08:00:04

物联网架构物联网IOT

2021-11-24 11:04:09

技术架构技术前线 IT管理

2012-06-07 10:35:40

架构设计业务逻辑Java
点赞
收藏

51CTO技术栈公众号