×

OpenShift Container Platform 是一个基于云的 Kubernetes 容器平台。OpenShift Container Platform 的基础是 Kubernetes,因此共享相同的技术。它旨在允许应用程序及其支持的数据中心从仅几台机器和应用程序扩展到为数百万客户端服务的数千台机器。

OpenShift Container Platform 使您能够执行以下操作

  • 为开发人员和 IT 组织提供可用于在安全且可扩展的资源上部署应用程序的云应用程序平台。

  • 需要最少的配置和管理开销。

  • 将 Kubernetes 平台引入客户数据中心和云。

  • 满足安全、隐私、合规性和治理要求。

OpenShift Container Platform 基于 Kubernetes,采用与大型电信、流媒体视频、游戏、银行等应用相同的技术。它基于开放的 Red Hat 技术,允许您将容器化应用程序扩展到单个云之外,覆盖本地和多云环境。

OpenShift Container Platform 通用术语表

本词汇表定义了 Kubernetes 和 OpenShift Container Platform 的常用术语。

Kubernetes

Kubernetes 是一个开源的容器编排引擎,用于自动化容器化应用程序的部署、扩展和管理。

容器

容器是在工作节点上运行的、符合 OCI 规范的应用程序实例和组件。容器是符合开放容器倡议 (OCI) 规范的镜像的运行时环境。镜像是一个二进制应用程序。一个工作节点可以运行多个容器。节点容量与底层资源(无论是云、硬件还是虚拟化)的内存和 CPU 能力有关。

Pod

Pod 是一个或多个容器一起部署在一个主机上的集合。它包含一组位置相邻的容器,它们共享资源,例如卷和 IP 地址。Pod 也是定义、部署和管理的最小计算单元。

在 OpenShift Container Platform 中,Pod 替换单个应用程序容器,成为最小的可部署单元。

Pod 是 OpenShift Container Platform 中编排的单元。OpenShift Container Platform 将 Pod 中的所有容器调度并运行在同一节点上。复杂的应用程序由许多 Pod 组成,每个 Pod 都有自己的容器。它们在 OpenShift Container Platform 环境内部进行交互,也与外部交互。

副本集和复制控制器

Kubernetes 副本集和 OpenShift Container Platform 复制控制器都可用。此组件的作用是确保始终运行指定数量的 Pod 副本。如果 Pod 退出或被删除,副本集或复制控制器将启动更多 Pod。如果运行的 Pod 多于需要,副本集将删除多余的 Pod 以匹配指定的副本数量。

Deployment 和 DeploymentConfig

OpenShift Container Platform 同时实现了 Kubernetes 的 Deployment 对象和 OpenShift Container Platform 的 DeploymentConfigs 对象。用户可以选择其中一个。

Deployment 对象控制如何将应用程序作为 Pod 推出。它们标识要从注册表中获取并作为 Pod 部署到节点上的容器镜像的名称。它们设置要部署的 Pod 的副本数量,创建一个副本集来管理此过程。指示的标签指示调度程序将 Pod 部署到哪些节点。标签集包含在副本集实例化的 Pod 定义中。

Deployment 对象能够根据 Deployment 对象的版本和各种用于管理可接受应用程序可用性的推出策略来更新部署到工作节点上的 Pod。OpenShift Container Platform DeploymentConfig 对象增加了更改触发器的附加功能,这些触发器能够在容器镜像的新版本可用或发生其他更改时自动创建 Deployment 对象的新版本。

服务

服务定义了一组逻辑的 Pod 和访问策略。它为其他应用程序提供永久的内部 IP 地址和主机名,以便在创建和销毁 Pod 时使用。

服务层将应用程序组件连接在一起。例如,前端 Web 服务通过与其服务通信来连接到数据库实例。服务允许跨应用程序组件进行简单的内部负载均衡。OpenShift Container Platform 自动将服务信息注入正在运行的容器中,以便于发现。

路由

路由是一种通过为服务提供可外部访问的主机名(例如 www.example.com)来公开服务的方式。每个路由都包含路由名称、服务选择器以及可选的安全配置。路由器可以使用定义的路由及其服务标识的端点来提供一个名称,让外部客户端访问您的应用程序。虽然部署完整的多层应用程序很容易,但如果没有路由层,来自 OpenShift Container Platform 环境外部的任何流量都无法访问应用程序。

构建

构建是将输入参数转换为结果对象的过程。此过程最常用于将输入参数或源代码转换为可运行的镜像。BuildConfig 对象是整个构建过程的定义。OpenShift Container Platform 通过从构建镜像创建容器并将它们推送到集成注册表来利用 Kubernetes。

项目

OpenShift Container Platform 使用项目允许用户或开发人员组一起工作,作为隔离和协作的单元。它定义了资源的范围,允许项目管理员和协作者管理资源,并使用配额和限制来限制和跟踪用户的资源。

项目是带有附加注释的 Kubernetes 命名空间。它是管理常规用户资源访问的中心工具。项目允许用户社区隔离其他社区来组织和管理其内容。用户必须从管理员那里获得对项目的访问权限。但是,集群管理员可以允许开发人员创建自己的项目,在这种情况下,用户会自动访问他们自己的项目。

每个项目都有自己的一组对象、策略、约束和服务帐户。

项目也称为命名空间。

Operators

Operator 是一个 Kubernetes 原生应用程序。Operator 的目标是将操作知识融入软件中。以前,这些知识只存在于管理员的头脑中,各种组合或 shell 脚本或自动化软件(如 Ansible)。它位于 Kubernetes 集群之外,难以集成。有了 Operators,这一切都改变了。

Operators 专为您的应用程序而构建。它们实现并自动化常见的第 1 天活动(如安装和配置)以及第 2 天活动(如扩展、重新配置、更新、备份、故障转移和恢复), 这些活动都在您的 Kubernetes 集群内部运行的软件中进行,方法是与 Kubernetes 概念和 API 原生集成。这称为 Kubernetes 原生应用程序。

使用 Operators 时,不应将应用程序视为基元集合,例如 Pod、Deployment、服务或 ConfigMap。相反,应将 Operators 视为一个单一对象,该对象公开了对应用程序有意义的选项。

了解 OpenShift Container Platform

OpenShift Container Platform 是一个 Kubernetes 环境,用于管理基于容器的应用程序及其对各种计算平台(如裸机、虚拟化、本地和云)的依赖项的生命周期。OpenShift Container Platform 部署、配置和管理容器。OpenShift Container Platform 提供其组件的可用性、稳定性和可定制性。

OpenShift Container Platform 利用许多计算资源,称为节点。节点具有基于 Red Hat Enterprise Linux (RHEL) 的轻量级安全操作系统,称为 Red Hat Enterprise Linux CoreOS (RHCOS)。

节点启动并配置后,会获取一个容器运行时,例如 CRI-O 或 Docker,用于管理和运行调度到其上的容器工作负载的镜像。Kubernetes 代理或 kubelet 会在节点上调度容器工作负载。kubelet 负责将节点注册到集群并接收容器工作负载的详细信息。

OpenShift Container Platform 配置和管理集群的网络、负载均衡和路由。OpenShift Container Platform 添加了集群服务,用于监控集群健康状况和性能、日志记录以及管理升级。

容器镜像注册表和 OperatorHub 提供了 Red Hat 认证的产品和社区构建的软件,用于在集群内提供各种应用程序服务。这些应用程序和服务管理部署在集群中的应用程序、数据库、前端和用户界面、应用程序运行时和业务自动化,以及用于开发和测试容器应用程序的开发人员服务。

您可以通过手动配置从预构建镜像运行的容器部署,或通过称为 Operator 的资源来管理集群中的应用程序。您可以从预构建镜像和源代码构建自定义镜像,并将这些自定义镜像存储在内部、私有或公共注册表中。

多集群管理层可以在单个控制台中管理多个集群,包括它们的部署、配置、合规性和工作负载分发。

Red Hat OpenShift Kubernetes Engine

安装 OpenShift Container Platform

OpenShift Container Platform 安装程序提供了灵活性。您可以使用安装程序在安装程序配置和集群维护的基础设施上部署集群,也可以在您准备和维护的基础设施上部署集群。

有关安装过程、支持的平台以及选择安装和准备集群方法的更多信息,请参阅以下内容:

OpenShift Local 概述

OpenShift Local 支持快速应用程序开发,帮助您开始构建 OpenShift Container Platform 集群。OpenShift Local 旨在在本地计算机上运行,以简化设置和测试,并在本地模拟云开发环境,其中包含开发基于容器的应用程序所需的所有工具。

无论您使用哪种编程语言,OpenShift Local 都可以托管您的应用程序,并在您的本地 PC 上提供一个最小的预配置 Red Hat OpenShift Container Platform 集群,而无需服务器端基础设施。

在托管环境中,OpenShift Local 可以创建微服务,将它们转换为镜像,并直接在运行 Linux、macOS 或 Windows 10 或更高版本的笔记本电脑或台式机上在 Kubernetes 托管的容器中运行它们。

有关 OpenShift Local 的更多信息,请参阅 Red Hat OpenShift Local 概述

后续步骤

面向开发者

使用 OpenShift Container Platform 开发和部署容器化应用程序。OpenShift Container Platform 是一个用于开发和部署容器化应用程序的平台。OpenShift Container Platform 文档可帮助您:

使用 OpenShift Container Platform Web 控制台中的 开发者 透视图创建和部署应用程序

使用 拓扑 视图 查看您的应用程序、监控状态、连接和分组组件以及修改您的代码库。

  • 使用开发者 CLI 工具 (odo)odo CLI 工具允许开发者创建单组件或多组件应用程序,并自动化部署、构建和服务路由配置。它抽象了复杂的 Kubernetes 和 OpenShift Container Platform 概念,使您可以专注于开发应用程序。

  • 创建 CI/CD 管道:管道是无服务器、云原生、持续集成和持续交付系统,在隔离的容器中运行。它们使用标准 Tekton 自定义资源来自动化部署,并专为在基于微服务的架构上工作的分散团队而设计。

  • 部署 Helm 图表Helm 3 是一个包管理器,可帮助开发人员在 Kubernetes 上定义、安装和更新应用程序包。Helm 图表是一种打包格式,描述了可以使用 Helm CLI 部署的应用程序。

  • 了解镜像构建:从不同的构建策略(Docker、S2I、自定义和管道)中选择,这些策略可以包含不同类型的源材料(Git 存储库、本地二进制输入和外部工件)。然后,按照从基本构建到高级构建的构建类型的示例操作。

  • 创建容器镜像:容器镜像是 OpenShift Container Platform(和 Kubernetes)应用程序中最基本的构建块。定义镜像流允许您在一个地方收集多个版本的镜像,以便继续开发。

  • 创建部署:使用 DeploymentDeploymentConfig 对象可以对应用程序进行细粒度的管理。使用工作负载页面或 OpenShift CLI (oc) 管理部署。了解 滚动、重新创建和自定义 部署策略。

  • 创建模板:使用现有模板或创建您自己的模板来描述应用程序的构建或部署方式。模板可以将镜像与描述、参数、副本、公开端口和其他定义应用程序运行或构建方式的内容结合起来。

  • 了解 Operator:对于 OpenShift Container Platform 4.17,Operator 是创建集群内应用程序的首选方法。了解 Operator Framework 以及如何使用已安装的 Operator 将应用程序部署到您的项目中。

  • 开发 Operators:对于 OpenShift Container Platform 4.17,Operators 是创建集群内应用程序的首选方法。学习构建、测试和部署 Operators 的工作流程。然后,基于 AnsibleHelm 创建您自己的 Operators,或者使用 Operator SDK 配置 内置的 Prometheus 监控

  • REST API 参考:了解 OpenShift Container Platform 应用程序编程接口端点。

面向管理员