- 1、本文档共54页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
?
?
一文读懂OpenShift总体架构设计 - 五一送福利
?
?
本文摘自于云计算/OpenShift领域资深专家和布道者山金孝、潘晓华、刘世民撰写的《OpenShift云原生架构:原理与实践》一书,将介绍OpenShift在架构设计上的哲学理念,分析其与Kubernetes在主要功能上的区别,探讨OpenShift在构建以应用为中心的PaaS平台上的设计之道,同时还将介绍其核心组件、核心概念及部署架构等内容。
OpenShift是由RedHat公司推出的企业级容器云PaaS平台,2015年,RedHat推出完全重构后基于Docker和Kubernetes的OpenShift 3.0,完善了强大的用户界面,以及诸如源代码到镜像和构建管道等OpenShift独有组件,极大简化了云原生应用的构建部署和DevOps理念文化的落地实践。2019年,RedHat推出了OpenShift v4,集成了CoreOS、Istio、Knative、Kubernetes Operator等技术,将OpenShift推向了全栈融合云和应用全生命周期自动化管理时代。可见,作为当今最为成熟和主流的容器云PaaS平台,OpenShift的架构也一直在演进。本文将基于OpenShift当前最为成熟稳定的3.11版本,介绍其设计理念和总体架构,并深入介绍和分析OpenShift网络、存储、权限控制、服务目录等核心功能,在部署实践OpenShift云原生PaaS平台前,为读者建立起完备扎实的理论基础。
OpenShift设计哲学
容器平台(Container Platform)是一种使用容器去构建、部署和编排应用的应用平台。OpenShift是一种新型容器云PaaS平台,其使用两种主要工具在容器中运行应用,即以Docker作为容器运行时(Container runtime)在Linux环境中创建容器,以Kubernetes为容器编排引擎(Container Orchestration Engine)在平台中编排容器。OpenShift在架构上具有以分层、应用为中心和功能模块解耦等主要特点。
分层架构
OpenShift采用分层架构,利用Docker、Kubernetes及其他开源技术构建起一个PaaS云计算平台。其中,Docker用于基于Linux的轻量容器镜像的打包和创建,Kubernetes 提供了集群管理和在多台宿主机上的容器编排能力。
OpenShift分层架构(来源:RedHat)
从技术堆栈的角度分析,OpenShift自下而上包含了以下几个层次:
基础架构层:提供计算、网络、存储、安全等基础设施,支持在物理机、虚拟化、私有云和公有云等环境上部署OpenShift。
容器引擎层:采用Docker镜像为应用打包方式,采用Docker作为容器运行时,负责容器的创建和管理。Docker利用各种Linux内核资源,为每个Docker容器中的应用提供一个隔离的运行环境。
容器编排和集群管理层:为部署高可用、可扩展的应用,容器云平台需要具有跨多台服务器部署应用容器的能力。OpenShift采用Kubernetes作为其容器编排引擎,同时负责管理集群。事实上,Kuberbnetes正是OpenShift的内核。
PaaS服务层:OpenShift在PaaS服务层提供了丰富的开发语言、开发框架、数据库、中间件及应用支持,支持构建自动化(Build Automation)、部署自动化(Deployment Automation)、应用生命周期管理(Application Lifecycle Management,CI/CD)、服务目录(Service Catalog,包括各种语言运行时、中间件、数据库等)、内置镜像仓库等,以构建一个以应用为中心的、更加高效的容器平台。
界面及工具层:向用户提供Web Console、API及命令行工具等,以便于用户使用OpenShift容器云平台。
以应用为中心
下图显示了OpenShift和Kubernetes的主要功能差异。
OpenShift与Kubernetes组件对比
从图中可以看出,相对于Kubernetes,OpenShift新增的全部内容几乎都是以应用为中心来展开的,这些新增功能模块说明如下:
Souce to Image(S2I,源代码到镜像):OpenShift新增的一种构建方式,直接从项目源代码和基础镜像自动构建出应用镜像。
内置镜像仓库:用于保存S2I生成的镜像。
构建配置(BuildConfig):构建的静态定义,定义构建的源代码来源、基础镜像、生产镜像等。每次执行即开始一次构建过程。
镜像流(ImageStream):镜像流中包括一个或多个标签,每个标签指向一个镜像。镜像流可用于自动执行某些
您可能关注的文档
- 《软件工程》-面向过程的软件设计方法.docx
- 《重构,改善既有代码的设计》读书笔记.docx
- 《领域驱动设计-DDD》核心知识梳理笔记.docx
- 「分布式系统前沿技术」专题-Pulsar-的设计哲学.docx
- 【Android-UI设计与开发】底部菜单栏使用Fragment实现底部菜单栏.docx
- 【App设计】互联网+商业计划书.docx
- 【HDL系列】Kogge-Stone加法器原理与设计.docx
- 【Linux内核设计与实现】Linux内核简介.docx
- 【Mybatis源码阅读】mybatis中的设计模式.docx
- 【Python实例分析】批量生成海报-自动添加姓名和二维码.docx
文档评论(0)