什么是 OpenShift?

2025年3月17日 | 阅读 7 分钟

OpenShift 是由 Red Hat 主办的云开发平台即服务 (PaaS)。它是一个开源、基于云、用户友好的平台,用于创建、测试和运行应用程序,并最终将它们部署到云端。

OpenShift 可以管理用不同语言编写的应用程序,例如 Ruby, Node.js, Java, Perl,以及 Python。OpenShift 的一个关键特性是可扩展性,这有助于用户支持用其他语言编写的应用程序。

OpenShift 帮助组织将其传统的应用程序基础设施和平台从物理、虚拟介质迁移到云端。

OpenShift 支持各种各样的应用程序,这些应用程序可以在 OpenShift 云平台上快速开发和部署。OpenShift 支持三种类型的平台供开发人员和用户使用。

1. 基础设施即服务 (IaaS)

在这种模式下,服务提供商提供具有某些预定义虚拟硬件配置的硬件级虚拟机。该领域有许多竞争者,从 Rackspace、AWS Google Cloud、Rackspace 等等。

在进行了冗长的设置和投资程序后,使用 IaaS 的主要缺点是,用户仍然负责安装和维护操作系统和服务器包,管理基础设施网络,并负责基本的系统管理。

2. 软件即服务 (SaaS)

对于 SaaS,用户对底层基础设施的担忧最少。它就像即插即用一样简单,用户只需注册服务即可开始使用。

这种设置的主要缺点是,用户只能进行服务提供商允许的最小程度的自定义。

Gmail 是 SaaS 最常见的例子,用户只需登录即可开始使用。用户还可以对其帐户进行一些小的修改。但是,从开发人员的角度来看,它不是很实用。

3. 平台即服务 (PaaS)

它可以被认为是 SaaS 和 IaaS 之间的中间层。PaaS 评估的主要目标是为开发人员提供开发环境,可以使用少量命令快速启动开发环境。

这些环境的设计旨在满足所有开发需求,从拥有数据库的 Web 应用程序服务器开始。

OpenShift 控制台具有面向开发人员和管理员的视图。管理员视图允许用户监控容器资源、容器健康状况、管理用户、使用操作员等。

历史

  • OpenShift 最初是 Red Hat 收购 **Makara** 的成果。Makara 是一家拥有基于 Linux 容器的专有 **PaaS** 解决方案的公司。
  • OpenShift 于 2011 年 5 月发布。它曾是专有技术,直到 2012 年 5 月才开源。直到 v3,容器技术和容器编排技术都使用了定制开发的技术。
  • v3 中这一情况发生了改变,它采用了 Docker 作为容器技术,**Kubernetes** 作为容器编排技术。
  • v4 产品有许多其他架构上的变化,其中一个显著的变化是转向使用 CRI-O 作为容器运行时(以及 **Podman** 用于与 Pod 和容器交互),**Buildah** 作为容器构建工具,从而打破了对 **Docker** 的完全依赖。

架构

OpenShift 是一个分层系统,其中每个层都通过 **Kubernetes** 和 **Docker** 集群紧密绑定。OpenShift 的架构旨在支持和管理 Docker 容器,这些容器托管在所有层之上,使用 Kubernetes

与早期版本的 OpenShift V2 不同,新版本 OpenShift V3 支持容器化基础设施。在此模型中,Docker 帮助创建轻量级的基于 Linux 的容器,Kubernetes 则支持在多个主机上对容器进行编排和管理。

What is OpenShift

OpenShift 和 Kubernetes 之间的主要区别在于构建相关构件的概念。

在 OpenShift 中,这些构件被视为一等 Kubernetes 资源,标准 Kubernetes 操作可以应用于这些资源。OpenShift 的客户端程序,称为 **oc**,提供了 Kubernetes 主线 **kubectl** 客户端程序中包含的标准功能的超集。使用此客户端,用户可以使用子命令直接与构建相关资源进行交互。

此外,OpenShift 原生 Pod 构建技术 Source-to-Image (S2I) 也已开箱即用。

为什么使用 OpenShift?

OpenShift 为企业单位提供了一个通用平台,可以在云端托管其应用程序,而无需担心底层操作系统。这使得在云端使用、开发和部署应用程序变得非常容易。

关键特性之一是它为开发和测试提供了托管的硬件和网络资源。使用 OpenShift,PaaS 开发人员可以自由地设计所需的具有指定规格的环境。

OpenShift 在服务计划方面提供了不同类型的服务级别协议。

  • 免费:此计划限制为三年,每个计划有 1GB 空间。
  • 青铜:此计划包括 3 年,并扩展到 16 年,每年有 1GB 空间。
  • 白银:这是青铜计划的 16 年版本;但是,它具有 6GB 的存储容量,没有额外费用。

除了上述功能外,OpenShift 还提供名为 OpenShift Enterprise 的本地部署版本。

在 OpenShift 中,开发人员可以利用 HAproxy 服务器来设计可扩展和不可扩展的应用程序。

OpenShift 类型

OpenShift 源于其基础 OpenShift V2,主要基于 gear 和 cartridges。每个组件都有其规格,从机器创建到应用程序部署,再到构建和部署。

  • Cartridges(容器):它们是构建新应用程序的焦点,从环境运行所需的应用程序类型到所有在此部分满足的依赖项。
  • Gear(齿轮):它可以被定义为具有独立资源、内存和 CPU 规格的裸机机器或服务器。它们被认为是运行应用程序的基本单元。
  • Application(应用程序):这些指的是将在 OpenShift 环境中部署和运行的应用程序或任何集成应用程序。

我们将讨论 OpenShift 的不同格式和产品。早期,OpenShift 主要有三个版本。

  • OpenShift Origin:这是 OpenShift 的社区版或开源版本。它也被称为其他两个版本的上游项目。
  • OpenShift Online:它是在 AWS 上托管的公共 PaaS 服务。
  • OpenShift Enterprise:这是 OpenShift 的增强版,带有 ISV 和供应商许可。

1. OpenShift Online

OpenShift Online 使 OpenShift 社区能够快速在公共云上构建、部署和扩展容器化应用程序。

它是 Red Hat 的公共云应用程序开发和托管平台,支持应用程序的自动预配、管理和扩展,帮助开发人员专注于编写应用程序逻辑。

2. OpenShift Container Platform

OpenShift Container Platform 是一个企业级平台,可以帮助开发和 IT 运营团队构建和部署容器化基础设施。OpenShift 中构建的所有容器都使用非常可靠的 Docker 容器化技术,可以部署在任何数据中心或公共托管的云平台上。

OpenShift Container Platform 原名 OpenShift Enterprises。它是 Red Hat 的本地私有平台即服务,建立在由 Docker 驱动的应用程序容器核心概念之上,其中 Kubernetes 管理编排和管理。

OpenShift 将 Docker 和 Kubernetes 带到企业级。它是企业单位部署和管理其选择基础设施中应用程序的容器平台软件。OpenShift Container Platform 有两个套餐级别。

  • OpenShift Container Local:适用于希望在本地计算机上部署和测试应用程序的开发人员。此套餐主要供开发团队用于开发和测试应用程序。
  • OpenShift Container Lab:此版本旨在从开发到预生产环境进行应用程序的扩展评估。

3. OpenShift Dedicated

这是 OpenShift 产品组合中的另一项产品,客户可以选择在他们选择的任何公共云上托管容器化平台。它为最终用户提供了真正的多云体验,他们可以在满足需求的任何云上使用 OpenShift。

这是 Red Hat 最新的产品之一,最终用户可以使用 OpenShift 在云托管的 OpenShift 上构建、测试、部署和运行他们的应用程序。

OpenShift Dedicated 的特点

OpenShift Dedicated 在公共云上提供定制的解决方案应用程序平台,继承自 OpenShift 3 技术。

  • 可扩展且开放:它基于 Docker 的开放概念构建并在云上部署,因为它可以根据需要进行扩展。
  • 可移植性:由于它是使用 Docker 构建的,因此在支持 Docker 的地方,运行在 Docker 上的应用程序可以轻松地从一个地方转移到另一个地方。
  • 编排:从 OpenShift 3 开始,使用 Kubernetes 支持容器编排和集群管理的一个关键特性,Kubernetes 在 OpenShift 版本 3 中提供。
  • 自动化:此版本的 OpenShift 支持源代码管理、构建自动化和部署自动化,使其成为一个非常受欢迎的平台即服务提供商。

4. OKD

Origin Community Distribution 或 OKD 是用于 OpenShift Online、OpenShift Dedicated 和 OpenShift Container Platform 的上游社区项目。Origin 构建在 Docker 容器打包和 Kubernetes 容器集群管理的核心之上,并辅以应用程序生命周期管理功能和 DevOps 工具。

Origin 提供了一个开源应用程序容器平台。Origin 项目的所有源代码均在 GitHub 上根据 Apache 许可证提供。


下一个主题什么是 Vagrant