1.1。OpenShift容器平台简介


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

OpenShift容器平台以Kubernetes为基础,它采用了与大规模电信,流视频,游戏,银行和其他应用程序的引擎相同的技术。它在开放式Red Hat技术中的实现使您可以将容器化的应用程序从单个云扩展到本地和多云环境。


1.1.1。关于Kubernetes

尽管容器映像和从中运行的容器是现代应用程序开发的主要构建块,但要大规模运行它们,则需要可靠且灵活的分发系统。Kubernetes是协调容器的事实上的标准。

Kubernetes是一个开源容器编排引擎,用于自动化容器化应用程序的部署,扩展和管理。Kubernetes的一般概念非常简单:


  • 从一个或多个工作节点开始,以运行容器工作负载。
  • 从一个或多个主节点管理这些工作负载的部署。
  • 将容器包装在称为Pod的部署单元中。使用Pod可以为容器提供额外的元数据,并可以在单个部署实体中对多个容器进行分组。
  • 创建特殊种类的资产。例如,服务由一组Pod和定义访问方式的策略表示。即使容器没有用于服务的特定IP地址,此策略也可以使容器连接到所需的服务。复制控制器是另一项特殊资产,它指示一次需要运行多少个Pod副本。您可以使用此功能来自动扩展应用程序以适应其当前需求。

在短短的几年内,Kubernetes见证了大规模的云计算和本地部署。开源开发模型允许许多人通过为组件(例如网络,存储和身份验证)实施不同的技术来扩展Kubernetes。

1.1.2。容器化应用程序的好处

与使用传统的部署方法相比,使用容器化的应用程序具有许多优势。曾经期望将应用程序安装在包含所有依赖项的操作系统上的地方,容器让应用程序随身携带其依赖项。创建容器化的应用程序有很多好处。


1.1.2.1。操作系统的好处

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

由于每个容器都使用专用的操作系统,因此您可以在同一主机上部署需要冲突软件依赖关系的应用程序。每个容器都带有自己的从属软件,并管理自己的接口,例如网络和文件系统,因此应用程序无需竞争这些资产。

1.1.2.2。部署和扩展优势

如果在应用程序的主要版本之间进行滚动升级,则可以持续改进应用程序而不会造成停机,并且仍保持与当前版本的兼容性。

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

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

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

1.1.3。OpenShift容器平台概述

OpenShift容器平台为Kubernetes提供了企业就绪的增强功能,包括以下增强功能:


  • 混合云部署。您可以将OpenShift Container Platform集群部署到各种公共云平台或数据中心中。
  • 集成的Red Hat技术。OpenShift容器平台的主要组件来自Red Hat Enterprise Linux和相关的Red Hat技术。OpenShift容器平台受益于Red Hat企业质量软件的严格测试和认证计划。
  • 开源开发模型。开发已经公开完成,其源代码可从公共软件存储库中获得。开放的合作促进了快速的创新和发展。

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


1.1.3.1。自定义操作系统

OpenShift容器平台使用Red Hat Enterprise Linux CoreOS(RHCOS),这是一个面向容器的新操作系统,它结合了CoreOS和Red Hat Atomic Host操作系统的一些最佳功能。RHCOS是专门为从OpenShift Container Platform运行容器化应用程序而设计的,并与新工具一起使用以提供快速安装,基于操作员的管理和简化的升级。

RHCOS包括:


  • 点火(Ignition)是用于首次启动和配置OpenShift Container Platform节点的firstboot系统配置。
  • cri-o,一个Kubernetes本机容器运行时实现,它与操作系统紧密集成,以提供高效和优化的Kubernetes体验。
  • Kubelet,Kubernetes的主要节点代理,负责启动和监视容器。

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

1.1.3.2。简化的安装和更新过程

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

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

1.1.3.3。其他主要特点

运算符既是OpenShift Container Platform 4.1代码库的基本单元,也是部署应用程序和软件组件以供您的应用程序使用的便捷方法。通过使用Operators作为平台基础,OpenShift Container Platform取代了操作系统和控制平面应用程序的手动升级。OpenShift容器平台操作员(例如群集版本操作员和计算机配置操作员)允许对这些关键组件进行简化的群集范围内的管理。

Operator Lifecycle Manager(OLM)和OperatorHub提供了用于将操作员存储和分发给开发和部署应用程序的人员的工具。

CRI-O容器引擎是与Kubernetes发行版一起开发的简化容器引擎,并提供了用于运行,停止和重新启动容器的设施。它完全替代了OpenShift Container Platform 4.1中的Docker容器引擎。

Red Hat Quay容器注册表是Quay.io容器注册表,它为OpenShift容器平台集群提供大多数容器映像和操作员。Quay.io是Red Hat Quay的公共注册表版本,可存储数百万个图像和标签。

OpenShift容器平台中Kubernetes的其他增强功能包括软件定义网络(SDN),身份验证,日志聚合,监视和路由方面的改进。OpenShift容器平台还提供了一个全面的Web控制台和自定义的OpenShift CLI(​​oc​​)界面。

1.1.3.4。OpenShift容器平台生命周期

下图说明了基本的OpenShift容器平台生命周期:


  • 创建一个OpenShift容器平台集群
  • 管理集群
  • 开发和部署应用程序
  • 扩大应用程序

图1.1。高级别OpenShift容器平台概述

快速了解OpenShift容器平台_应用程序

1.1.3.5。OpenShift容器平台3和4

使用OpenShift容器平台4.1,核心故事保持不变:OpenShift容器平台为开发人员提供了一套工具,可在操作监督下发展其应用程序,并使用Kubernetes提供应用程序基础结构。OpenShift Container Platform 4.1的主要更改是基础架构及其管理是灵活,自动化和自我管理的。

OpenShift容器平台3和OpenShift容器平台4.1之间的主要区别在于,OpenShift容器平台4.1使用运算符既是产品的基本单元,又是用于轻松部署和管理应用程序使用的实用程序的选项。