OpenShift Dedicated 是一个用于开发和运行容器化应用程序的平台。它旨在允许应用程序及其支持的数据中心从仅少数机器和应用程序扩展到服务数百万客户端的数千台机器。
OpenShift Dedicated 基于 Kubernetes,它采用了与大型电信、流媒体视频、游戏、银行和其他应用程序引擎相同的技术。它采用开放的 Red Hat 技术实现,允许您将容器化应用程序扩展到单个云之外,涵盖本地和多云环境。
虽然容器镜像和从中运行的容器是现代应用程序开发的主要构建块,但要大规模运行它们需要一个可靠且灵活的分布式系统。Kubernetes 是编排容器的事实标准。
Kubernetes 是一个开源容器编排引擎,用于自动化容器化应用程序的部署、扩展和管理。Kubernetes 的总体概念相当简单。
首先使用一个或多个工作节点来运行容器工作负载。
从一个或多个控制平面节点管理这些工作负载的部署。
将容器封装在称为 Pod 的部署单元中。使用 Pod 可以为容器提供额外的元数据,并能够在一个部署实体中对多个容器进行分组。
创建特殊类型的资源。例如,服务由一组 Pod 和定义其访问方式的策略表示。此策略允许容器连接到它们所需的资源,即使它们没有服务的特定 IP 地址。复制控制器是另一种特殊资源,它指示一次需要运行多少个 Pod 副本。您可以使用此功能自动扩展应用程序以适应其当前需求。
短短几年内,Kubernetes 已在云和本地环境中得到广泛采用。开源开发模型允许许多人通过为网络、存储和身份验证等组件实现不同的技术来扩展 Kubernetes。
与使用传统部署方法相比,使用容器化应用程序具有许多优势。以前应用程序需要安装在包含所有依赖项的操作系统上,而容器允许应用程序携带其依赖项。创建容器化应用程序具有许多好处。
容器使用小型专用 Linux 操作系统,没有内核。它们的系统文件、网络、cgroups、进程表和命名空间与主机 Linux 系统是分开的,但容器可以在必要时与主机无缝集成。基于 Linux 允许容器利用开源开发模型带来的快速创新的所有优势。
由于每个容器都使用专用操作系统,因此您可以在同一主机上部署需要冲突软件依赖项的应用程序。每个容器都携带其自身的依赖软件并管理其自身的接口(例如网络和文件系统),因此应用程序永远不需要争夺这些资源。
如果您在应用程序的主要版本之间采用滚动升级,则可以在不停机的情况下持续改进应用程序,并仍然保持与当前版本的兼容性。
您也可以在现有版本旁边部署和测试新版本的应用程序。如果容器通过了您的测试,只需部署更多新容器并移除旧容器即可。
由于应用程序的所有软件依赖项都在容器内解决,因此您可以在数据中心的每个主机上使用标准化的操作系统。您无需为每个应用程序主机配置特定的操作系统。当您的数据中心需要更多容量时,您可以部署另一个通用主机系统。
同样,扩展容器化应用程序也很简单。OpenShift Dedicated 提供了一种简单、标准的方式来扩展任何容器化服务。例如,如果您将应用程序构建为一组微服务而不是大型的单体应用程序,则可以单独扩展各个微服务以满足需求。此功能允许您仅扩展所需的服務,而不是整个应用程序,这可以使您在使用最少资源的同时满足应用程序需求。
OpenShift Dedicated 为 Kubernetes 提供了企业级的增强功能,包括以下增强功能:
集成的 Red Hat 技术。OpenShift Dedicated 中的主要组件来自 Red Hat Enterprise Linux (RHEL) 和相关的 Red Hat 技术。OpenShift Dedicated 得益于 Red Hat 企业级质量软件的严格测试和认证计划。
开源开发模式。开发在开放的环境中完成,源代码可从公共软件存储库获取。这种开放式协作促进了快速创新和发展。
虽然 Kubernetes 擅长管理您的应用程序,但它并未指定或管理平台级需求或部署流程。强大而灵活的平台管理工具和流程是 OpenShift Dedicated 提供的重要优势。以下部分描述了 OpenShift Dedicated 的一些独特功能和优势。
OpenShift Dedicated 使用 Red Hat Enterprise Linux CoreOS (RHCOS) 作为所有控制平面和工作节点的操作系统。
RHCOS 包括:
Ignition,OpenShift Dedicated 使用它作为首次启动系统配置,用于初始启动和配置机器。
CRI-O,一种 Kubernetes 原生的容器运行时实现,它与操作系统紧密集成,以提供高效且优化的 Kubernetes 体验。CRI-O 提供了运行、停止和重启容器的功能。它完全取代了 OpenShift Dedicated 3 中使用的 Docker Container Engine。
Kubelet,Kubernetes 的主要节点代理,负责启动和监控容器。
更新或升级 OpenShift Dedicated 是一个简单、高度自动化的过程。因为 OpenShift Dedicated 完全控制在每台机器上运行的系统和服务(包括操作系统本身)以及来自中央控制平面的服务,所以升级被设计成自动事件。
Operators 既是 OpenShift Dedicated 代码库的基本单元,也是一种方便的方式,可以部署应用程序和软件组件供您的应用程序使用。在 OpenShift Dedicated 中,Operators 作为平台基础,无需手动升级操作系统和控制平面应用程序。OpenShift Dedicated Operators(如 Cluster Version Operator 和 Machine Config Operator)允许简化对这些关键组件的集群范围管理。
Operator Lifecycle Manager (OLM) 和 OperatorHub 提供了用于将 Operators 存储和分发给开发和部署应用程序的人员的功能。
Red Hat Quay Container Registry 是一个 Quay.io 容器注册表,它为大多数容器镜像和 Operators 提供服务到 OpenShift Dedicated 集群。Quay.io 是 Red Hat Quay 的公共注册表版本,它存储数百万个镜像和标签。
OpenShift Dedicated 中对 Kubernetes 的其他增强功能包括软件定义网络 (SDN)、身份验证、日志聚合、监控和路由方面的改进。OpenShift Dedicated 还提供全面的 Web 控制台和自定义 OpenShift CLI (oc
) 接口。