×

OpenShift Container Platform 简介

OpenShift Container Platform 是一个用于开发和运行容器化应用程序的平台。它旨在允许应用程序及其支持的数据中心从仅几台机器和应用程序扩展到为数百万客户端服务的数千台机器。

OpenShift Container Platform 基于 Kubernetes,它采用了与大型电信、流媒体视频、游戏、银行和其他应用程序引擎相同的技术。它使用开放的 Red Hat 技术实现,使您可以将容器化应用程序扩展到单个云之外,进入本地和多云环境。

Red Hat OpenShift Kubernetes Engine

关于 Kubernetes

尽管容器镜像及其运行的容器是现代应用程序开发的主要构建块,但要大规模运行它们,需要一个可靠且灵活的分布式系统。Kubernetes 是容器编排的事实标准。

Kubernetes 是一个开源的容器编排引擎,用于自动化容器化应用程序的部署、扩展和管理。Kubernetes 的总体概念相当简单。

  • 从一个或多个工作节点开始运行容器工作负载。

  • 从一个或多个控制平面节点管理这些工作负载的部署。

  • 将容器封装在一个称为 Pod 的部署单元中。使用 Pod 可以为容器提供额外的元数据,并能够将多个容器分组到单个部署实体中。

  • 创建特殊类型的资源。例如,服务由一组 Pod 和定义如何访问它们的策略表示。此策略允许容器连接到它们需要的服务,即使它们没有服务的特定 IP 地址。复制控制器是另一种特殊资源,它指示一次需要运行多少个 Pod 副本。您可以使用此功能自动扩展应用程序以适应其当前需求。

短短几年内,Kubernetes 在云端和本地都得到了大规模采用。开源开发模式允许许多人通过为网络、存储和身份验证等组件实现不同的技术来扩展 Kubernetes。

容器化应用程序的优势

与使用传统的部署方法相比,使用容器化应用程序具有许多优势。以前应用程序需要安装在包含所有依赖项的操作系统上,而容器允许应用程序随身携带其依赖项。创建容器化应用程序具有许多好处。

操作系统优势

容器使用小型专用 Linux 操作系统,没有内核。它们的 文件系统、网络、cgroups、进程表和命名空间与主机 Linux 系统分开,但在必要时,容器可以与主机无缝集成。基于 Linux 使容器能够利用开源开发模式带来的快速创新优势。

因为每个容器都使用专用的操作系统,所以您可以在同一主机上部署需要冲突软件依赖项的应用程序。每个容器都携带它自己的依赖软件并管理其自身的接口(例如网络和文件系统),因此应用程序永远不需要争夺这些资源。

部署和扩展优势

如果您在应用程序的主要版本之间采用滚动升级,则可以在不停机的情况下持续改进您的应用程序,并且仍然与当前版本保持兼容。

您还可以将新版本的应用程序与现有版本一起部署和测试。如果容器通过了您的测试,只需部署更多新容器并删除旧容器即可。

由于应用程序的所有软件依赖项都在容器内解决,因此您可以在数据中心的每个主机上使用标准化的操作系统。您无需为每个应用程序主机配置特定的操作系统。当您的数据中心需要更多容量时,您可以部署另一个通用主机系统。

同样,扩展容器化应用程序也很简单。OpenShift Container Platform 提供了一种简单标准的方式来扩展任何容器化服务。例如,如果您将应用程序构建为一组微服务而不是大型单体应用程序,则可以单独扩展各个微服务以满足需求。此功能允许您仅扩展所需的服务,而不是整个应用程序,这可以使您在使用最少资源的同时满足应用程序需求。

OpenShift Container Platform 概述

OpenShift Container Platform 为 Kubernetes 提供了企业级增强功能,包括以下增强功能:

  • 混合云部署。您可以将 OpenShift Container Platform 集群部署到各种公共云平台或您的数据中心。

  • 集成的 Red Hat 技术。OpenShift Container Platform 中的主要组件来自 Red Hat Enterprise Linux (RHEL) 和相关的 Red Hat 技术。OpenShift Container Platform 得益于 Red Hat 企业级质量软件的严格测试和认证工作。

  • 开源开发模式。开发在开放环境中完成,源代码可从公共软件存储库获得。这种开放协作促进了快速创新和发展。

尽管 Kubernetes 擅长管理您的应用程序,但它并未指定或管理平台级需求或部署流程。强大而灵活的平台管理工具和流程是 OpenShift Container Platform 4.17 提供的重要优势。以下部分描述了 OpenShift Container Platform 的一些独特功能和优势。

自定义操作系统

OpenShift Container Platform 使用 Red Hat Enterprise Linux CoreOS (RHCOS),这是一种面向容器的操作系统,专为运行来自 OpenShift Container Platform 的容器化应用程序而设计,并与新工具一起使用,以提供快速安装、基于 Operator 的管理和简化的升级。

RHCOS 包括:

  • Ignition,OpenShift Container Platform 使用它作为首次启动系统配置,用于初始启动和配置机器。

  • CRI-O,一种 Kubernetes 原生容器运行时实现,它与操作系统紧密集成,以提供高效且优化的 Kubernetes 体验。CRI-O 提供了运行、停止和重新启动容器的功能。它完全取代了 OpenShift Container Platform 3 中使用的 Docker Container Engine。

  • Kubelet,Kubernetes 的主要节点代理,负责启动和监控容器。

在 OpenShift Container Platform 4.17 中,您必须对所有控制平面机器使用 RHCOS,但您可以使用 Red Hat Enterprise Linux (RHEL) 作为计算机器(也称为工作机器)的操作系统。如果您选择使用 RHEL 工作节点,则必须执行比对所有集群机器使用 RHCOS 时更多的系统维护工作。

简化的安装和更新流程

使用 OpenShift Container Platform 4.17,如果您拥有具有正确权限的帐户,则可以通过运行单个命令并提供一些值来在受支持的云中部署生产集群。如果您使用受支持的平台,您还可以自定义云安装或在数据中心中安装集群。

对于所有机器都使用 RHCOS 的集群,更新或升级 OpenShift Container Platform 是一个简单、高度自动化的过程。因为 OpenShift Container Platform 完全控制在每台机器上运行的系统和服务(包括操作系统本身), 从中央控制平面来看,升级被设计成自动事件。如果您的集群包含 RHEL 工作节点,则控制平面将受益于简化的更新流程,但您必须执行更多任务才能升级 RHEL 机器。

其他主要功能

操作符是 OpenShift Container Platform 4.17 代码库的基本单元,也是部署应用程序及其软件组件以供应用程序使用的便捷方式。在 OpenShift Container Platform 中,操作符充当平台基础,无需手动升级操作系统和控制平面应用程序。OpenShift Container Platform 操作符(例如集群版本操作符和机器配置操作符)允许简化对这些关键组件的集群范围管理。

操作符生命周期管理器 (OLM) 和 OperatorHub 提供了用于存储和分发操作符给开发和部署应用程序人员的工具。

Red Hat Quay 容器注册表是一个 Quay.io 容器注册表,它为大多数 OpenShift Container Platform 集群提供容器镜像和操作符。Quay.io 是 Red Hat Quay 的公共注册表版本,存储数百万个镜像和标签。

OpenShift Container Platform 对 Kubernetes 的其他增强功能包括软件定义网络 (SDN)、身份验证、日志聚合、监控和路由方面的改进。OpenShift Container Platform 还提供全面的 Web 控制台和自定义 OpenShift CLI (oc) 接口。

OpenShift Container Platform 生命周期

下图说明了基本的 OpenShift Container Platform 生命周期

  • 创建 OpenShift Container Platform 集群

  • 管理集群

  • 开发和部署应用程序

  • 扩展应用程序

High-level OpenShift Container Platform flow
图 1. OpenShift Container Platform 高级概述

OpenShift Container Platform 的互联网访问

在 OpenShift Container Platform 4.17 中,您需要访问互联网才能安装集群。

您必须具有互联网访问权限才能:

  • 访问 OpenShift 集群管理器 以下载安装程序并执行订阅管理。如果集群具有互联网访问权限并且您没有禁用遥测,则该服务会自动授权您的集群。

  • 访问 Quay.io 以获取安装集群所需的软件包。

  • 获取执行集群更新所需的软件包。

如果您的集群无法直接访问互联网,则可以在您配置的某些类型的基础架构上执行受限网络安装。在此过程中,您将下载所需的内容并使用它来填充镜像注册表中的安装包。对于某些安装类型,您安装集群的环境将不需要互联网访问。在更新集群之前,请更新镜像注册表的内容。